Skip to content

Commit 45d9478

Browse files
Vladimir SokolovskyRoland Dreier
authored andcommitted
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 <[email protected]> Reviewed-by: Sean Hefty <[email protected]> Signed-off-by: Roland Dreier <[email protected]>
1 parent b61d92d commit 45d9478

File tree

1 file changed

+3
-1
lines changed
  • drivers/infiniband/core

1 file changed

+3
-1
lines changed

drivers/infiniband/core/cma.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1122,8 +1122,10 @@ static int cma_req_handler(struct ib_cm_id *cm_id, struct ib_cm_event *ib_event)
11221122
cm_id->cm_handler = cma_ib_handler;
11231123

11241124
ret = conn_id->id.event_handler(&conn_id->id, &event);
1125-
if (!ret)
1125+
if (!ret) {
1126+
cma_enable_remove(conn_id);
11261127
goto out;
1128+
}
11271129

11281130
/* Destroy the CM ID by returning a non-zero value. */
11291131
conn_id->cm_id.ib = NULL;

0 commit comments

Comments
 (0)