]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
smb: server: let free_transport() wait for SMBDIRECT_SOCKET_DISCONNECTED
authorStefan Metzmacher <metze@samba.org>
Wed, 15 Oct 2025 15:05:27 +0000 (17:05 +0200)
committerSteve French <stfrench@microsoft.com>
Fri, 24 Oct 2025 01:58:51 +0000 (20:58 -0500)
commitdd6940f5c7dbee7ae70708f4c8967c3c8cb1d965
treefeef0f9731573188eef92083a7613106bf0a69f9
parent123111ea6226c5302cc192028e7ae923c44e1382
smb: server: let free_transport() wait for SMBDIRECT_SOCKET_DISCONNECTED

We should wait for the rdma_cm to become SMBDIRECT_SOCKET_DISCONNECTED!

At least on the client side (with similar code)
wait_event_interruptible() often returns with -ERESTARTSYS instead of
waiting for SMBDIRECT_SOCKET_DISCONNECTED.
We should use wait_event() here too, which makes the code be identical
in client and server, which will help when moving to common functions.

Fixes: b31606097de8 ("smb: server: move smb_direct_disconnect_rdma_work() into free_transport()")
Cc: Steve French <smfrench@gmail.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: linux-cifs@vger.kernel.org
Cc: samba-technical@lists.samba.org
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/server/transport_rdma.c