From 47de760655f329ce4b3d3e6276557220956d8c38 Mon Sep 17 00:00:00 2001 From: Shyam Prasad N Date: Tue, 18 Jan 2022 09:24:08 +0000 Subject: [PATCH] cifs: update tcpStatus during negotiate and sess setup Till the end of SMB session setup, update tcpStatus and avoid updating session status field. There was a typo in cifs_setup_session, which caused ses->status to be updated instead. This was causing issues during reconnect. Signed-off-by: Shyam Prasad N Signed-off-by: Steve French --- fs/cifs/connect.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 0a35503b..bcba332 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -3908,7 +3908,7 @@ cifs_setup_session(const unsigned int xid, struct cifs_ses *ses, spin_unlock(&cifs_tcp_ses_lock); return 0; } - ses->status = CifsInSessSetup; + server->tcpStatus = CifsInSessSetup; spin_unlock(&cifs_tcp_ses_lock); spin_lock(&ses->chan_lock); @@ -3946,8 +3946,7 @@ cifs_setup_session(const unsigned int xid, struct cifs_ses *ses, if (server->tcpStatus == CifsInSessSetup) server->tcpStatus = CifsGood; /* Even if one channel is active, session is in good state */ - if (ses->status == CifsInSessSetup) - ses->status = CifsGood; + ses->status = CifsGood; spin_unlock(&cifs_tcp_ses_lock); spin_lock(&ses->chan_lock); -- 2.7.4