[PATCH 5/6] scsi: storvsc: properly handle SRB_ERROR when sense message is present
Tim Gardner
tim.gardner at canonical.com
Mon Feb 13 13:05:19 UTC 2017
From: Long Li <longli at microsoft.com>
BugLink: http://bugs.launchpad.net/bugs/1663687
When sense message is present on error, we should pass along to the upper
layer to decide how to deal with the error.
This patch fixes connectivity issues with Fiber Channel devices.
Signed-off-by: Long Li <longli at microsoft.com>
Reviewed-by: K. Y. Srinivasan <kys at microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
Cc: <stable at vger.kernel.org>
Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
(cherry picked from linux-next commit bba5dc332ec2d3a685cb4dae668c793f6a3713a3)
Signed-off-by: Tim Gardner <tim.gardner at canonical.com>
---
drivers/scsi/storvsc_drv.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index 094573d..f71705f 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -925,6 +925,13 @@ static void storvsc_handle_error(struct vmscsi_request *vm_srb,
switch (SRB_STATUS(vm_srb->srb_status)) {
case SRB_STATUS_ERROR:
/*
+ * Let upper layer deal with error when
+ * sense message is present.
+ */
+
+ if (vm_srb->srb_status & SRB_STATUS_AUTOSENSE_VALID)
+ break;
+ /*
* If there is an error; offline the device since all
* error recovery strategies would have already been
* deployed on the host side. However, if the command
--
2.7.4
More information about the kernel-team
mailing list