|
@@ -2358,6 +2358,8 @@ static void srpt_release_channel_work(struct work_struct *w)
|
|
transport_deregister_session(se_sess);
|
|
transport_deregister_session(se_sess);
|
|
ch->sess = NULL;
|
|
ch->sess = NULL;
|
|
|
|
|
|
|
|
+ ib_destroy_cm_id(ch->cm_id);
|
|
|
|
+
|
|
srpt_destroy_ch_ib(ch);
|
|
srpt_destroy_ch_ib(ch);
|
|
|
|
|
|
srpt_free_ioctx_ring((struct srpt_ioctx **)ch->ioctx_ring,
|
|
srpt_free_ioctx_ring((struct srpt_ioctx **)ch->ioctx_ring,
|
|
@@ -2368,8 +2370,6 @@ static void srpt_release_channel_work(struct work_struct *w)
|
|
list_del(&ch->list);
|
|
list_del(&ch->list);
|
|
spin_unlock_irq(&sdev->spinlock);
|
|
spin_unlock_irq(&sdev->spinlock);
|
|
|
|
|
|
- ib_destroy_cm_id(ch->cm_id);
|
|
|
|
-
|
|
|
|
if (ch->release_done)
|
|
if (ch->release_done)
|
|
complete(ch->release_done);
|
|
complete(ch->release_done);
|
|
|
|
|