Message ID | 1457348384-11869-1-git-send-email-vkuznets@redhat.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
> -----Original Message----- > From: Vitaly Kuznetsov [mailto:vkuznets@redhat.com] > Sent: Monday, March 7, 2016 3:00 AM > To: linux-scsi@vger.kernel.org > Cc: linux-kernel@vger.kernel.org; devel@linuxdriverproject.org; KY > Srinivasan <kys@microsoft.com>; Haiyang Zhang > <haiyangz@microsoft.com>; Cathy Avery <cavery@redhat.com>; James E.J. > Bottomley <JBottomley@odin.com>; Martin K. Petersen" > <martin.petersen@oracle.com> > Subject: [PATCH] scsi: storvsc: fix SRB_STATUS_ABORTED handling > > Commit 3209f9d780d1 ("scsi: storvsc: Fix a bug in the handling of SRB > status flags") filtered SRB_STATUS_AUTOSENSE_VALID out effectively > making > the (SRB_STATUS_ABORTED | SRB_STATUS_AUTOSENSE_VALID) case a dead > code. The > logic from this branch (e.g. storvsc_device_scan() call) is still required, > fix the check. > > Fixes: 3209f9d780d1 ("scsi: storvsc: Fix a bug in the handling of SRB status > flags") > Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Thanks Vitaly. Acked-by: K. Y. Srinivasan <kys@microsoft.com> > --- > drivers/scsi/storvsc_drv.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c > index 292c04e..3ddcabb 100644 > --- a/drivers/scsi/storvsc_drv.c > +++ b/drivers/scsi/storvsc_drv.c > @@ -914,8 +914,9 @@ static void storvsc_handle_error(struct > vmscsi_request *vm_srb, > do_work = true; > process_err_fn = storvsc_remove_lun; > break; > - case (SRB_STATUS_ABORTED | SRB_STATUS_AUTOSENSE_VALID): > - if ((asc == 0x2a) && (ascq == 0x9)) { > + case SRB_STATUS_ABORTED: > + if (vm_srb->srb_status & SRB_STATUS_AUTOSENSE_VALID > && > + (asc == 0x2a) && (ascq == 0x9)) { > do_work = true; > process_err_fn = storvsc_device_scan; > /* > -- > 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>> "Vitaly" == Vitaly Kuznetsov <vkuznets@redhat.com> writes:
Vitaly> Commit 3209f9d780d1 ("scsi: storvsc: Fix a bug in the handling
Vitaly> of SRB status flags") filtered SRB_STATUS_AUTOSENSE_VALID out
Vitaly> effectively making the (SRB_STATUS_ABORTED |
Vitaly> SRB_STATUS_AUTOSENSE_VALID) case a dead code. The logic from
Vitaly> this branch (e.g. storvsc_device_scan() call) is still required,
Vitaly> fix the check.
Applied to 4.5/scsi-fixes.
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index 292c04e..3ddcabb 100644 --- a/drivers/scsi/storvsc_drv.c +++ b/drivers/scsi/storvsc_drv.c @@ -914,8 +914,9 @@ static void storvsc_handle_error(struct vmscsi_request *vm_srb, do_work = true; process_err_fn = storvsc_remove_lun; break; - case (SRB_STATUS_ABORTED | SRB_STATUS_AUTOSENSE_VALID): - if ((asc == 0x2a) && (ascq == 0x9)) { + case SRB_STATUS_ABORTED: + if (vm_srb->srb_status & SRB_STATUS_AUTOSENSE_VALID && + (asc == 0x2a) && (ascq == 0x9)) { do_work = true; process_err_fn = storvsc_device_scan; /*
Commit 3209f9d780d1 ("scsi: storvsc: Fix a bug in the handling of SRB status flags") filtered SRB_STATUS_AUTOSENSE_VALID out effectively making the (SRB_STATUS_ABORTED | SRB_STATUS_AUTOSENSE_VALID) case a dead code. The logic from this branch (e.g. storvsc_device_scan() call) is still required, fix the check. Fixes: 3209f9d780d1 ("scsi: storvsc: Fix a bug in the handling of SRB status flags") Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> --- drivers/scsi/storvsc_drv.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)