diff --git a/srpt/src/ib_srpt.c b/srpt/src/ib_srpt.c index 64fc1f4c3..bc7b8ddb1 100644 --- a/srpt/src/ib_srpt.c +++ b/srpt/src/ib_srpt.c @@ -2609,6 +2609,7 @@ free_ring: ch->max_rsp_size, DMA_TO_DEVICE); free_ch: + cm_id->context = NULL; kfree(ch); reject: @@ -2723,6 +2724,8 @@ static int srpt_cm_handler(struct ib_cm_id *cm_id, struct ib_cm_event *event) { int ret; + BUG_ON(!cm_id->context); + ret = 0; switch (event->event) { case IB_CM_REQ_RECEIVED: