Message ID | 1439816682-9781-1-git-send-email-jthumshirn@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
2015-08-17 15:04 GMT+02:00 Johannes Thumshirn <jthumshirn@suse.de>: > In case XXX returns with 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> Thanks, please feel free to add: Acked-by: Jack Wang <jinpu.wang@profitbricks.com> > --- > drivers/scsi/pm8001/pm8001_hwi.c | 1 + > drivers/scsi/pm8001/pm80xx_hwi.c | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/drivers/scsi/pm8001/pm8001_hwi.c b/drivers/scsi/pm8001/pm8001_hwi.c > index 96dcc09..d0feec5 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 05cce46..18d4ac4 100644 > --- a/drivers/scsi/pm8001/pm80xx_hwi.c > +++ b/drivers/scsi/pm8001/pm80xx_hwi.c > @@ -2314,6 +2314,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)); > -- > 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
Jack Wang <xjtuwjp@gmail.com> writes: > 2015-08-17 15:04 GMT+02:00 Johannes Thumshirn <jthumshirn@suse.de>: >> In case XXX returns with a status of IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY Apparently I've hit enter to fast. This shouldn't be XXX but psataPayload->status. I'll be sending a v2 :-(. >> 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> > > Thanks, please feel free to add: > Acked-by: Jack Wang <jinpu.wang@profitbricks.com> > >> --- >> drivers/scsi/pm8001/pm8001_hwi.c | 1 + >> drivers/scsi/pm8001/pm80xx_hwi.c | 1 + >> 2 files changed, 2 insertions(+) >> >> diff --git a/drivers/scsi/pm8001/pm8001_hwi.c b/drivers/scsi/pm8001/pm8001_hwi.c >> index 96dcc09..d0feec5 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 05cce46..18d4ac4 100644 >> --- a/drivers/scsi/pm8001/pm80xx_hwi.c >> +++ b/drivers/scsi/pm8001/pm80xx_hwi.c >> @@ -2314,6 +2314,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)); >> -- >> 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
diff --git a/drivers/scsi/pm8001/pm8001_hwi.c b/drivers/scsi/pm8001/pm8001_hwi.c index 96dcc09..d0feec5 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 05cce46..18d4ac4 100644 --- a/drivers/scsi/pm8001/pm80xx_hwi.c +++ b/drivers/scsi/pm8001/pm80xx_hwi.c @@ -2314,6 +2314,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));
In case XXX returns with 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> --- drivers/scsi/pm8001/pm8001_hwi.c | 1 + drivers/scsi/pm8001/pm80xx_hwi.c | 1 + 2 files changed, 2 insertions(+)