diff --git a/fs/smb/common/smbdirect/smbdirect_socket.c b/fs/smb/common/smbdirect/smbdirect_socket.c index 34971c2700ee..b5ce5f6443f6 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) {