diff options
Diffstat (limited to 'fs/cifs/cifssmb.c')
-rw-r--r-- | fs/cifs/cifssmb.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index e567f4e6196a..0ddd97b1d87d 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c | |||
@@ -3026,6 +3026,7 @@ findFirstRetry: | |||
3026 | psrch_inf->unicode = FALSE; | 3026 | psrch_inf->unicode = FALSE; |
3027 | 3027 | ||
3028 | psrch_inf->ntwrk_buf_start = (char *)pSMBr; | 3028 | psrch_inf->ntwrk_buf_start = (char *)pSMBr; |
3029 | psrch_inf->smallBuf = 0; | ||
3029 | psrch_inf->srch_entries_start = | 3030 | psrch_inf->srch_entries_start = |
3030 | (char *) &pSMBr->hdr.Protocol + | 3031 | (char *) &pSMBr->hdr.Protocol + |
3031 | le16_to_cpu(pSMBr->t2.DataOffset); | 3032 | le16_to_cpu(pSMBr->t2.DataOffset); |
@@ -3146,9 +3147,14 @@ int CIFSFindNext(const int xid, struct cifsTconInfo *tcon, | |||
3146 | parms = (T2_FNEXT_RSP_PARMS *)response_data; | 3147 | parms = (T2_FNEXT_RSP_PARMS *)response_data; |
3147 | response_data = (char *)&pSMBr->hdr.Protocol + | 3148 | response_data = (char *)&pSMBr->hdr.Protocol + |
3148 | le16_to_cpu(pSMBr->t2.DataOffset); | 3149 | le16_to_cpu(pSMBr->t2.DataOffset); |
3149 | cifs_buf_release(psrch_inf->ntwrk_buf_start); | 3150 | if(psrch_inf->smallBuf) |
3151 | cifs_small_buf_release( | ||
3152 | psrch_inf->ntwrk_buf_start); | ||
3153 | else | ||
3154 | cifs_buf_release(psrch_inf->ntwrk_buf_start); | ||
3150 | psrch_inf->srch_entries_start = response_data; | 3155 | psrch_inf->srch_entries_start = response_data; |
3151 | psrch_inf->ntwrk_buf_start = (char *)pSMB; | 3156 | psrch_inf->ntwrk_buf_start = (char *)pSMB; |
3157 | psrch_inf->smallBuf = 0; | ||
3152 | if(parms->EndofSearch) | 3158 | if(parms->EndofSearch) |
3153 | psrch_inf->endOfSearch = TRUE; | 3159 | psrch_inf->endOfSearch = TRUE; |
3154 | else | 3160 | else |