diff options
Diffstat (limited to 'fs/cifs/cifssmb.c')
-rw-r--r-- | fs/cifs/cifssmb.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c index 38ab9f67c5f4..9d7bbd225eff 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c | |||
@@ -1076,13 +1076,14 @@ CIFSSMBRead(const int xid, struct cifsTconInfo *tcon, | |||
1076 | cifs_small_buf_release(iov[0].iov_base); | 1076 | cifs_small_buf_release(iov[0].iov_base); |
1077 | else if(resp_buf_type == CIFS_LARGE_BUFFER) | 1077 | else if(resp_buf_type == CIFS_LARGE_BUFFER) |
1078 | cifs_buf_release(iov[0].iov_base); | 1078 | cifs_buf_release(iov[0].iov_base); |
1079 | } else /* return buffer to caller to free */ /* BB FIXME how do we tell caller if it is not a large buffer */ { | 1079 | } else if(resp_buf_type != CIFS_NO_BUFFER) { |
1080 | *buf = iov[0].iov_base; | 1080 | /* return buffer to caller to free */ |
1081 | *buf = iov[0].iov_base; | ||
1081 | if(resp_buf_type == CIFS_SMALL_BUFFER) | 1082 | if(resp_buf_type == CIFS_SMALL_BUFFER) |
1082 | *pbuf_type = CIFS_SMALL_BUFFER; | 1083 | *pbuf_type = CIFS_SMALL_BUFFER; |
1083 | else if(resp_buf_type == CIFS_LARGE_BUFFER) | 1084 | else if(resp_buf_type == CIFS_LARGE_BUFFER) |
1084 | *pbuf_type = CIFS_LARGE_BUFFER; | 1085 | *pbuf_type = CIFS_LARGE_BUFFER; |
1085 | } | 1086 | } /* else no valid buffer on return - leave as null */ |
1086 | 1087 | ||
1087 | /* Note: On -EAGAIN error only caller can retry on handle based calls | 1088 | /* Note: On -EAGAIN error only caller can retry on handle based calls |
1088 | since file handle passed in no longer valid */ | 1089 | since file handle passed in no longer valid */ |