diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 378095a442d0..77c990f0cb98 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -1754,7 +1754,10 @@ static int cifs_readpages(struct file *file, struct address_space *mapping, /* need to free smb_read_data buf before exit */ if (smb_read_data) { - cifs_buf_release(smb_read_data); + if(buf_type == CIFS_SMALL_BUFFER) + cifs_small_buf_release(smb_read_data); + else if(buf_type == CIFS_LARGE_BUFFER) + cifs_buf_release(smb_read_data); smb_read_data = NULL; }