]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
smb: server: smb_direct_disconnect_rdma_connection() already wakes all waiters on...
authorStefan Metzmacher <metze@samba.org>
Mon, 20 Oct 2025 18:35:59 +0000 (20:35 +0200)
committerSteve French <stfrench@microsoft.com>
Thu, 23 Oct 2025 01:10:44 +0000 (20:10 -0500)
There's no need to care about pending or credit counters when we
already disconnecting.

And all related wait_event conditions already check for broken
connections too.

This will simplify the code and makes the following changes simpler.

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
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

index 19b51205dc8c3c763e1f225d2f11d4222a43fc4f..9dabaf74db312388f3807aadfa65ab3180ac2199 100644 (file)
@@ -987,8 +987,6 @@ static int smb_direct_post_send(struct smbdirect_socket *sc,
        ret = ib_post_send(sc->ib.qp, wr, NULL);
        if (ret) {
                pr_err("failed to post send: %d\n", ret);
-               if (atomic_dec_and_test(&sc->send_io.pending.count))
-                       wake_up(&sc->send_io.pending.zero_wait_queue);
                smb_direct_disconnect_rdma_connection(sc);
        }
        return ret;
@@ -1037,8 +1035,6 @@ static int smb_direct_flush_send_list(struct smbdirect_socket *sc,
                                         send_ctx->need_invalidate_rkey,
                                         send_ctx->remote_key);
        } else {
-               atomic_add(send_ctx->wr_cnt, &sc->send_io.credits.count);
-               wake_up(&sc->send_io.credits.wait_queue);
                list_for_each_entry_safe(first, last, &send_ctx->msg_list,
                                         sibling_list) {
                        smb_direct_free_sendmsg(sc, first);