]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
RDMA/cxgb3: Remove cmid reference on tid allocation failures
authorSteve Wise <swise@opengridcomputing.com>
Wed, 15 Oct 2008 17:50:34 +0000 (10:50 -0700)
committerRoland Dreier <rolandd@cisco.com>
Wed, 15 Oct 2008 17:50:34 +0000 (10:50 -0700)
The error path in iwch_connect() can fail to drop the cmid reference,
which will cause the process to hang when destroying the cmid.

Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/cxgb3/iwch_cm.c

index c325c44807e8226b1744796a7463e6aab384e950..44e936e48a313d023964459ce36b0cf7c4b668d9 100644 (file)
@@ -1942,6 +1942,7 @@ int iwch_connect(struct iw_cm_id *cm_id, struct iw_cm_conn_param *conn_param)
 fail3:
        cxgb3_free_atid(ep->com.tdev, ep->atid);
 fail2:
+       cm_id->rem_ref(cm_id);
        put_ep(&ep->com);
 out:
        return err;