[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <lsq.1496331795.521458840@decadent.org.uk>
Date: Thu, 01 Jun 2017 16:43:15 +0100
From: Ben Hutchings <ben@...adent.org.uk>
To: linux-kernel@...r.kernel.org, stable@...r.kernel.org
CC: akpm@...ux-foundation.org, "James Bottomley" <JBottomley@...n.com>,
"K. Y. Srinivasan" <kys@...rosoft.com>,
"Long Li" <longli@...rosoft.com>
Subject: [PATCH 3.16 014/212] scsi: storvsc: Fix a bug in the handling of
SRB status flags
3.16.44-rc1 review patch. If anyone has any objections, please let me know.
------------------
From: "K. Y. Srinivasan" <kys@...rosoft.com>
commit 3209f9d780d137cdb54c85e0a776cb19e723a170 upstream.
SRB status can have additional information. Mask these out before processing
SRB status.
This patch was sent as part of a collection of patches more than a year ago.
While the rest of the patches in the set were comitted, this patch was not.
I woulod like to thank Olaf for noticing that this patch was not committed
upstream.
Signed-off-by: K. Y. Srinivasan <kys@...rosoft.com>
Reviewed-by: Long Li <longli@...rosoft.com>
Signed-off-by: James Bottomley <JBottomley@...n.com>
Signed-off-by: Ben Hutchings <ben@...adent.org.uk>
---
drivers/scsi/storvsc_drv.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -302,11 +302,14 @@ enum storvsc_request_type {
*/
#define SRB_STATUS_AUTOSENSE_VALID 0x80
+#define SRB_STATUS_QUEUE_FROZEN 0x40
#define SRB_STATUS_INVALID_LUN 0x20
#define SRB_STATUS_SUCCESS 0x01
#define SRB_STATUS_ABORTED 0x02
#define SRB_STATUS_ERROR 0x04
+#define SRB_STATUS(status) \
+ (status & ~(SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_QUEUE_FROZEN))
/*
* This is the end of Protocol specific defines.
*/
@@ -1008,7 +1011,7 @@ static void storvsc_handle_error(struct
void (*process_err_fn)(struct work_struct *work);
bool do_work = false;
- switch (vm_srb->srb_status) {
+ switch (SRB_STATUS(vm_srb->srb_status)) {
case SRB_STATUS_ERROR:
/*
* If there is an error; offline the device since all
Powered by blists - more mailing lists