diff options
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r-- | fs/cifs/connect.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 658f58b99e6f..db3746c891b5 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
@@ -1966,13 +1966,13 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, | |||
1966 | pSesInfo = existingCifsSes; | 1966 | pSesInfo = existingCifsSes; |
1967 | cFYI(1, ("Existing smb sess found (status=%d)", | 1967 | cFYI(1, ("Existing smb sess found (status=%d)", |
1968 | pSesInfo->status)); | 1968 | pSesInfo->status)); |
1969 | down(&pSesInfo->sesSem); | ||
1969 | if (pSesInfo->status == CifsNeedReconnect) { | 1970 | if (pSesInfo->status == CifsNeedReconnect) { |
1970 | cFYI(1, ("Session needs reconnect")); | 1971 | cFYI(1, ("Session needs reconnect")); |
1971 | down(&pSesInfo->sesSem); | ||
1972 | rc = cifs_setup_session(xid, pSesInfo, | 1972 | rc = cifs_setup_session(xid, pSesInfo, |
1973 | cifs_sb->local_nls); | 1973 | cifs_sb->local_nls); |
1974 | up(&pSesInfo->sesSem); | ||
1975 | } | 1974 | } |
1975 | up(&pSesInfo->sesSem); | ||
1976 | } else if (!rc) { | 1976 | } else if (!rc) { |
1977 | cFYI(1, ("Existing smb sess not found")); | 1977 | cFYI(1, ("Existing smb sess not found")); |
1978 | pSesInfo = sesInfoAlloc(); | 1978 | pSesInfo = sesInfoAlloc(); |
@@ -3522,7 +3522,7 @@ cifs_umount(struct super_block *sb, struct cifs_sb_info *cifs_sb) | |||
3522 | sesInfoFree(ses); | 3522 | sesInfoFree(ses); |
3523 | 3523 | ||
3524 | FreeXid(xid); | 3524 | FreeXid(xid); |
3525 | return rc; /* BB check if we should always return zero here */ | 3525 | return rc; |
3526 | } | 3526 | } |
3527 | 3527 | ||
3528 | int cifs_setup_session(unsigned int xid, struct cifsSesInfo *pSesInfo, | 3528 | int cifs_setup_session(unsigned int xid, struct cifsSesInfo *pSesInfo, |