diff options
| -rw-r--r-- | fs/cifs/file.c | 10 | 
1 files changed, 5 insertions, 5 deletions
| diff --git a/fs/cifs/file.c b/fs/cifs/file.c index ebdbe62a829..97ce4bf89d1 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -493,9 +493,9 @@ static int cifs_reopen_file(struct file *file, bool can_flush)  		return -EBADF;  	xid = GetXid(); -	mutex_unlock(&pCifsFile->fh_mutex); +	mutex_lock(&pCifsFile->fh_mutex);  	if (!pCifsFile->invalidHandle) { -		mutex_lock(&pCifsFile->fh_mutex); +		mutex_unlock(&pCifsFile->fh_mutex);  		rc = 0;  		FreeXid(xid);  		return rc; @@ -527,7 +527,7 @@ static int cifs_reopen_file(struct file *file, bool can_flush)  	if (full_path == NULL) {  		rc = -ENOMEM;  reopen_error_exit: -		mutex_lock(&pCifsFile->fh_mutex); +		mutex_unlock(&pCifsFile->fh_mutex);  		FreeXid(xid);  		return rc;  	} @@ -569,14 +569,14 @@ reopen_error_exit:  			 cifs_sb->local_nls, cifs_sb->mnt_cifs_flags &  				CIFS_MOUNT_MAP_SPECIAL_CHR);  	if (rc) { -		mutex_lock(&pCifsFile->fh_mutex); +		mutex_unlock(&pCifsFile->fh_mutex);  		cFYI(1, ("cifs_open returned 0x%x", rc));  		cFYI(1, ("oplock: %d", oplock));  	} else {  reopen_success:  		pCifsFile->netfid = netfid;  		pCifsFile->invalidHandle = false; -		mutex_lock(&pCifsFile->fh_mutex); +		mutex_unlock(&pCifsFile->fh_mutex);  		pCifsInode = CIFS_I(inode);  		if (pCifsInode) {  			if (can_flush) { | 
