RDMA/cma: Reenable device removal on passive side
Enable conn_id remove on the passive side after connection establishment. This corrects an issue where the IB driver can't be unloaded after running applications over RDS. The 'dev_remove' counter does not reach 0 for established connections on the passive side. This problem is limited to device removal, and only occurs on the passive side if there are established connections. Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.co.il> Reviewed-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
b61d92d8ae
commit
45d9478da1
|
@ -1122,8 +1122,10 @@ static int cma_req_handler(struct ib_cm_id *cm_id, struct ib_cm_event *ib_event)
|
|||
cm_id->cm_handler = cma_ib_handler;
|
||||
|
||||
ret = conn_id->id.event_handler(&conn_id->id, &event);
|
||||
if (!ret)
|
||||
if (!ret) {
|
||||
cma_enable_remove(conn_id);
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* Destroy the CM ID by returning a non-zero value. */
|
||||
conn_id->cm_id.ib = NULL;
|
||||
|
|
Loading…
Reference in a new issue