diff options
Diffstat (limited to 'fs/smb/client/smb2inode.c')
| -rw-r--r-- | fs/smb/client/smb2inode.c | 9 | 
1 files changed, 3 insertions, 6 deletions
diff --git a/fs/smb/client/smb2inode.c b/fs/smb/client/smb2inode.c index 163a03298430..8e696fbd72fa 100644 --- a/fs/smb/client/smb2inode.c +++ b/fs/smb/client/smb2inode.c @@ -398,9 +398,6 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,  					rsp_iov);   finished: -	if (cfile) -		cifsFileInfo_put(cfile); -  	SMB2_open_free(&rqst[0]);  	if (rc == -EREMCHG) {  		pr_warn_once("server share %s deleted\n", tcon->tree_name); @@ -529,6 +526,9 @@ static int smb2_compound_op(const unsigned int xid, struct cifs_tcon *tcon,  		break;  	} +	if (cfile) +		cifsFileInfo_put(cfile); +  	if (rc && err_iov && err_buftype) {  		memcpy(err_iov, rsp_iov, 3 * sizeof(*err_iov));  		memcpy(err_buftype, resp_buftype, 3 * sizeof(*err_buftype)); @@ -609,9 +609,6 @@ int smb2_query_path_info(const unsigned int xid, struct cifs_tcon *tcon,  			if (islink)  				rc = -EREMOTE;  		} -		if (rc == -EREMOTE && IS_ENABLED(CONFIG_CIFS_DFS_UPCALL) && cifs_sb && -		    (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_DFS)) -			rc = -EOPNOTSUPP;  	}  out:  |