ksmbd: call ib_drain_qp when disconnected
When disconnected, call ib_drain_qp to cancel all pending work requests and prevent ksmbd_conn_handler_loop from waiting for a long time for those work requests to compelete. Signed-off-by: Hyunchul Lee <hyc.lee@gmail.com> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> Reviewed-by: Tom Talpey <tom@talpey.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
Родитель
dbab80e207
Коммит
141fa9824c
|
@ -1527,6 +1527,8 @@ static int smb_direct_cm_handler(struct rdma_cm_id *cm_id,
|
|||
}
|
||||
case RDMA_CM_EVENT_DEVICE_REMOVAL:
|
||||
case RDMA_CM_EVENT_DISCONNECTED: {
|
||||
ib_drain_qp(t->qp);
|
||||
|
||||
t->status = SMB_DIRECT_CS_DISCONNECTED;
|
||||
wake_up_interruptible(&t->wait_status);
|
||||
wake_up_interruptible(&t->wait_reassembly_queue);
|
||||
|
|
Загрузка…
Ссылка в новой задаче