diff options
author | Johannes Thumshirn <jthumshirn@suse.de> | 2015-08-17 15:52:32 +0200 |
---|---|---|
committer | James Bottomley <JBottomley@Odin.com> | 2015-09-06 11:53:31 -0700 |
commit | 50acde8ed35620fdfad88f4e20a39a1eb0d8d4c9 (patch) | |
tree | 9d219c39caed73caef5e18df493ac94419f910c1 /drivers/scsi | |
parent | 612872cabf5be6f95d43d9a88eef38201ae8005d (diff) | |
download | op-kernel-dev-50acde8ed35620fdfad88f4e20a39a1eb0d8d4c9.zip op-kernel-dev-50acde8ed35620fdfad88f4e20a39a1eb0d8d4c9.tar.gz |
pm80xx: Don't override ts->stat on IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY
In case psataPayload->status has a status of IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY
ts->stat gets set to SAS_OPEN_REJECT but a missing 'break' statement causes a
fallthrough to the default handler of the switch statement overriding ts->stat
to SAS_DEV_NO_RESPONSE.
Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Acked-by: Jack Wang <jinpu.wang@profitbricks.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/pm8001/pm8001_hwi.c | 1 | ||||
-rw-r--r-- | drivers/scsi/pm8001/pm80xx_hwi.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/pm8001/pm8001_hwi.c b/drivers/scsi/pm8001/pm8001_hwi.c index 39306b1..04e67a1 100644 --- a/drivers/scsi/pm8001/pm8001_hwi.c +++ b/drivers/scsi/pm8001/pm8001_hwi.c @@ -2642,6 +2642,7 @@ mpi_sata_completion(struct pm8001_hba_info *pm8001_ha, void *piomb) ts->resp = SAS_TASK_COMPLETE; ts->stat = SAS_OPEN_REJECT; ts->open_rej_reason = SAS_OREJ_RSVD_RETRY; + break; default: PM8001_IO_DBG(pm8001_ha, pm8001_printk("Unknown status 0x%x\n", status)); diff --git a/drivers/scsi/pm8001/pm80xx_hwi.c b/drivers/scsi/pm8001/pm80xx_hwi.c index 0e1628f..9a389f1 100644 --- a/drivers/scsi/pm8001/pm80xx_hwi.c +++ b/drivers/scsi/pm8001/pm80xx_hwi.c @@ -2337,6 +2337,7 @@ mpi_sata_completion(struct pm8001_hba_info *pm8001_ha, void *piomb) ts->resp = SAS_TASK_COMPLETE; ts->stat = SAS_OPEN_REJECT; ts->open_rej_reason = SAS_OREJ_RSVD_RETRY; + break; default: PM8001_IO_DBG(pm8001_ha, pm8001_printk("Unknown status 0x%x\n", status)); |