summaryrefslogtreecommitdiff
path: root/fs/cifs/cifssmb.c
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2009-06-25 00:29:21 +0000
committerSteve French <sfrench@us.ibm.com>2009-06-25 00:29:21 +0000
commit268875b9d1dd1bf0b523c59e736da9bc20c8ce1f (patch)
tree9d2a55c5847aadfbfc1c50617dc469dd40716900 /fs/cifs/cifssmb.c
parent361ea1ae5451040cd254eee0b6df64581080b2cc (diff)
downloadlwn-268875b9d1dd1bf0b523c59e736da9bc20c8ce1f.tar.gz
lwn-268875b9d1dd1bf0b523c59e736da9bc20c8ce1f.zip
[CIFS] Do not send tree disconnect if session is already disconnected
Noticed this when tree connect timed out (due to Samba server crash) - we try to send a tree disconnect for a tid that does not exist since we don't have a valid tree id yet. This checks that the session is valid before sending the tree disconnect to handle this case. Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/cifssmb.c')
-rw-r--r--fs/cifs/cifssmb.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
index b84c61d5bca4..58d65a9a79c3 100644
--- a/fs/cifs/cifssmb.c
+++ b/fs/cifs/cifssmb.c
@@ -729,7 +729,7 @@ CIFSSMBTDis(const int xid, struct cifsTconInfo *tcon)
* the tcon is no longer on the list, so no need to take lock before
* checking this.
*/
- if (tcon->need_reconnect)
+ if ((tcon->need_reconnect) || (tcon->ses->need_reconnect))
return 0;
rc = small_smb_init(SMB_COM_TREE_DISCONNECT, 0, tcon,