[PATCH 8/9] cifs: don't unlock cifs_tcp_ses_lock in cached_dir_lease_break()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Unlock it from the caller, which is also where the lock is taken.

Signed-off-by: Ronnie Sahlberg <lsahlber@xxxxxxxxxx>
---
 fs/cifs/cached_dir.c | 1 -
 fs/cifs/smb2misc.c   | 4 +++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/fs/cifs/cached_dir.c b/fs/cifs/cached_dir.c
index 5f2d01833f1e..9d221f0bf976 100644
--- a/fs/cifs/cached_dir.c
+++ b/fs/cifs/cached_dir.c
@@ -389,7 +389,6 @@ int cached_dir_lease_break(struct cifs_tcon *tcon, __u8 lease_key[16])
 			  smb2_cached_lease_break);
 		queue_work(cifsiod_wq,
 			   &cfid->lease_break);
-		spin_unlock(&cifs_tcp_ses_lock);
 		return true;
 	}
 	return false;
diff --git a/fs/cifs/smb2misc.c b/fs/cifs/smb2misc.c
index d3d9174ddd7c..2cc038aca5bc 100644
--- a/fs/cifs/smb2misc.c
+++ b/fs/cifs/smb2misc.c
@@ -640,8 +640,10 @@ smb2_is_valid_lease_break(char *buffer)
 				}
 				spin_unlock(&tcon->open_file_lock);
 
-				if (cached_dir_lease_break(tcon, rsp->LeaseKey))
+				if (cached_dir_lease_break(tcon, rsp->LeaseKey)) {
+					spin_unlock(&cifs_tcp_ses_lock);
 					return true;
+				}
 			}
 		}
 	}
-- 
2.35.3




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux