cifs: set correct status of tcon ipc when reconnecting
authorPaulo Alcantara <pc@cjr.nz>
Sun, 18 Dec 2022 00:04:14 +0000 (21:04 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 7 Jan 2023 10:11:50 +0000 (11:11 +0100)
commit 25cf01b7c9200d6ace5a59125d8166435dd9dea7 upstream.

The status of tcon ipcs were not being set to TID_NEED_RECO when
marking sessions and tcons to be reconnected, therefore not sending
tree connect to those ipcs in cifs_tree_connect() and leaving them
disconnected.

Cc: stable@vger.kernel.org
Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/cifs/connect.c

index 0d0e173..7e7f712 100644 (file)
@@ -279,8 +279,10 @@ cifs_mark_tcp_ses_conns_for_reconnect(struct TCP_Server_Info *server,
                        tcon->need_reconnect = true;
                        tcon->status = TID_NEED_RECON;
                }
-               if (ses->tcon_ipc)
+               if (ses->tcon_ipc) {
                        ses->tcon_ipc->need_reconnect = true;
+                       ses->tcon_ipc->status = TID_NEED_RECON;
+               }
 
 next_session:
                spin_unlock(&ses->chan_lock);