diff --git a/net/rds/ib_cm.c b/net/rds/ib_cm.c
index bc3dbc1ba61f38cb68a1e5cef1a466254bd52414..ee369d201a65891b8f8e3b562bf738067665df2f 100644
--- a/net/rds/ib_cm.c
+++ b/net/rds/ib_cm.c
@@ -521,7 +521,6 @@ int rds_ib_cm_handle_connect(struct rdma_cm_id *cm_id,
 	err = rds_ib_setup_qp(conn);
 	if (err) {
 		rds_ib_conn_error(conn, "rds_ib_setup_qp failed (%d)\n", err);
-		mutex_unlock(&conn->c_cm_lock);
 		goto out;
 	}