From: Stefan Metzmacher Date: Thu, 28 Aug 2025 11:38:29 +0000 (+0200) Subject: smb: smbdirect: set SMBDIRECT_KEEPALIVE_NONE before disable_delayed_work(&sc->idle... X-Git-Url: http://git.ipfire.org/index.cgi?a=commitdiff_plain;h=8e342e68992e93db0c999f892e7aa1eb35c67709;p=thirdparty%2Fkernel%2Flinux.git smb: smbdirect: set SMBDIRECT_KEEPALIVE_NONE before disable_delayed_work(&sc->idle.timer_work); This avoids a potential confusing log message from smbdirect_connection_idle_timer_work() if it's already running. This is a very small race windows and not really needed, but it feels better when reading the code. Cc: Steve French Cc: Tom Talpey Cc: Long Li Cc: Namjae Jeon Cc: linux-cifs@vger.kernel.org Cc: samba-technical@lists.samba.org Signed-off-by: Stefan Metzmacher Acked-by: Namjae Jeon Signed-off-by: Steve French --- diff --git a/fs/smb/common/smbdirect/smbdirect_socket.c b/fs/smb/common/smbdirect/smbdirect_socket.c index 34971c2700eec..b5ce5f6443f60 100644 --- a/fs/smb/common/smbdirect/smbdirect_socket.c +++ b/fs/smb/common/smbdirect/smbdirect_socket.c @@ -106,6 +106,7 @@ static void __smbdirect_socket_schedule_cleanup(struct smbdirect_socket *sc, disable_work(&sc->recv_io.posted.refill_work); disable_work(&sc->mr_io.recovery_work); disable_work(&sc->idle.immediate_work); + sc->idle.keepalive = SMBDIRECT_KEEPALIVE_NONE; disable_delayed_work(&sc->idle.timer_work); switch (sc->status) { @@ -191,6 +192,7 @@ static void smbdirect_socket_cleanup_work(struct work_struct *work) disable_work(&sc->recv_io.posted.refill_work); disable_work(&sc->mr_io.recovery_work); disable_work(&sc->idle.immediate_work); + sc->idle.keepalive = SMBDIRECT_KEEPALIVE_NONE; disable_delayed_work(&sc->idle.timer_work); switch (sc->status) {