Commit 247ec9b4 makes the SMB echo workqueue job skip doing echoes unless the tcpStatus == CifsGood. Problem: tcpStatus == CifsGood is not a reliable indicator of whether the socket has had a NEGOTIATE done on it. This fixes that by adding a new tcpStatus of CifsNeedNegotiate that indicates this. It also cleans up cifs_reconnect_tcon a bit. This is not the only way to fix this issue. As Steve pointed out to me, we could also check to see whether there's a valid SMB session on the list as an indicator of whether a NEGOTIATE has been done. I think the approach I'm proposing clarifies the code better, but I'm willing to go with his approach if that's the general concensus. JG reported this problem and tested the patch and stated that it fixed the problem for him. Comments and suggestions welcome... Jeff Layton (2): cifs: remove checks for ses->status == CifsExiting cifs: clarify the meaning of tcpStatus == CifsGood fs/cifs/cifsglob.h | 3 ++- fs/cifs/cifssmb.c | 9 +++------ fs/cifs/connect.c | 8 ++++---- 3 files changed, 9 insertions(+), 11 deletions(-) -- 1.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html