]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: storvsc: properly set residual data length on errors
authorLong Li <longli@microsoft.com>
Thu, 15 Dec 2016 02:46:03 +0000 (18:46 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 5 Jan 2017 05:21:11 +0000 (00:21 -0500)
commit26b1ae9545f264371902278e42253bcdf4bc688e
treeb6d7cfcd058de5a64c53ed9674786a64e264c719
parent12320d404805f09ada506e8bce70fbd19f308180
scsi: storvsc: properly set residual data length on errors

On I/O errors, the Windows driver doesn't set data_transfer_length
on error conditions other than SRB_STATUS_DATA_OVERRUN.
In these cases we need to set data_transfer_length to 0,
indicating there is no data transferred. On SRB_STATUS_DATA_OVERRUN,
data_transfer_length is set by the Windows driver to the actual data transferred.

Reported-by: Shiva Krishna <Shiva.Krishna@nimblestorage.com>
Signed-off-by: Long Li <longli@microsoft.com>
Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/storvsc_drv.c