thanks, I added Jesper's suggestion to the original patch and queued
this for 2.6.23:
(Steve, let me know if this looks OK or not to you)
commit 8d339921a2cb279457dce79f8a308978e0b41b27
Author: WANG Cong <xiyou.wangcong@xxxxxxxxx>
Date: Thu Jul 5 14:40:32 2007 -0700
RDMA/cxgb3: Check return of kmalloc() in iwch_register_device()
Signed-off-by: WANG Cong <xiyou.wangcong@xxxxxxxxx>
[ Also remove cast from void * return of kmalloc() as suggested by
Jesper Juhl <jesper.juhl@xxxxxxxxx>. ]
Signed-off-by: Roland Dreier <rolandd@xxxxxxxxx>
diff --git a/drivers/infiniband/hw/cxgb3/iwch_provider.c b/drivers/infiniband/hw/cxgb3/iwch_provider.c
index e7c2c39..44b6ad2 100644
--- a/drivers/infiniband/hw/cxgb3/iwch_provider.c
+++ b/drivers/infiniband/hw/cxgb3/iwch_provider.c
@@ -1163,9 +1163,10 @@ int iwch_register_device(struct iwch_dev *dev)
dev->ibdev.post_recv = iwch_post_receive;
- dev->ibdev.iwcm =
- (struct iw_cm_verbs *) kmalloc(sizeof(struct iw_cm_verbs),
- GFP_KERNEL);
+ dev->ibdev.iwcm = kmalloc(sizeof(struct iw_cm_verbs), GFP_KERNEL);
+ if (!dev->ibdev.icwm)
+ return -ENOMEM;
+
dev->ibdev.iwcm->connect = iwch_connect;
dev->ibdev.iwcm->accept = iwch_accept_cr;
dev->ibdev.iwcm->reject = iwch_reject_cr;