summaryrefslogtreecommitdiffstats
path: root/fs/cifs
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2011-02-09 18:01:42 +0100
committerSteve French <sfrench@us.ibm.com>2011-02-10 04:44:20 +0100
commit195291e68c2ad59a046fc56d32bf59635b100e5c (patch)
tree7473861bc9894324f5828ac55c40db75c7f27142 /fs/cifs
parent[CIFS] Do not send SMBEcho requests on new sockets until SMBNegotiate (diff)
downloadlinux-195291e68c2ad59a046fc56d32bf59635b100e5c.tar.xz
linux-195291e68c2ad59a046fc56d32bf59635b100e5c.zip
cifs: clean up checks in cifs_echo_request
Follow-on patch to 7e90d705 which is already in Steve's tree... The check for tcpStatus == CifsGood is not meaningful since it doesn't indicate whether the NEGOTIATE request has been done. Also, clarify why we're checking for maxBuf == 0. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs')
-rw-r--r--fs/cifs/connect.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 10011e99b34d..161f24ca4f6e 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -338,10 +338,11 @@ cifs_echo_request(struct work_struct *work)
struct TCP_Server_Info, echo.work);
/*
- * We cannot send an echo until the NEGOTIATE_PROTOCOL request is done.
- * Also, no need to ping if we got a response recently
+ * We cannot send an echo until the NEGOTIATE_PROTOCOL request is
+ * done, which is indicated by maxBuf != 0. Also, no need to ping if
+ * we got a response recently
*/
- if ((server->tcpStatus != CifsGood) || (server->maxBuf == 0) ||
+ if (server->maxBuf == 0 ||
time_before(jiffies, server->lstrp + SMB_ECHO_INTERVAL - HZ))
goto requeue_echo;