summaryrefslogtreecommitdiffstats
path: root/fs/smb/server/transport_rdma.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2025-08-13 08:48:42 +0200
committerSteve French <stfrench@microsoft.com>2025-09-21 19:34:52 -0500
commitf7f89250175e0a82e99ed66da7012e869c36497d (patch)
treef2cb5128d2198f73b1b436f7ac5313ebd5e35a63 /fs/smb/server/transport_rdma.c
parentsmb: server: don't use delayed_work for post_recv_credits_work (diff)
downloadlinux-f7f89250175e0a82e99ed66da7012e869c36497d.tar.gz
linux-f7f89250175e0a82e99ed66da7012e869c36497d.zip
smb: server: use disable_work_sync in transport_rdma.c
This makes it safer during the disconnect and avoids requeueing. It's ok to call disable_work[_sync]() more than once. Cc: Namjae Jeon <linkinjeon@kernel.org> Cc: Steve French <smfrench@gmail.com> Cc: Tom Talpey <tom@talpey.com> Cc: linux-cifs@vger.kernel.org Cc: samba-technical@lists.samba.org Fixes: 0626e6641f6b ("cifsd: add server handler for central processing and tranport layers") Signed-off-by: Stefan Metzmacher <metze@samba.org> Acked-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to '')
-rw-r--r--fs/smb/server/transport_rdma.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/smb/server/transport_rdma.c b/fs/smb/server/transport_rdma.c
index 10a6b4ed1a03..74dfb6496095 100644
--- a/fs/smb/server/transport_rdma.c
+++ b/fs/smb/server/transport_rdma.c
@@ -399,9 +399,9 @@ static void free_transport(struct smb_direct_transport *t)
wait_event(t->wait_send_pending,
atomic_read(&t->send_pending) == 0);
- cancel_work_sync(&t->disconnect_work);
- cancel_work_sync(&t->post_recv_credits_work);
- cancel_work_sync(&t->send_immediate_work);
+ disable_work_sync(&t->disconnect_work);
+ disable_work_sync(&t->post_recv_credits_work);
+ disable_work_sync(&t->send_immediate_work);
if (t->qp) {
ib_drain_qp(t->qp);