On Wed, Dec 30, 2020 at 5:48 AM Viswas G <Viswas.G@xxxxxxxxxxxxxxxxx> wrote: > > From: Vishakha Channapattan <vishakhavc@xxxxxxxxxx> > > Added a log message in sata completion path to log the status of failed > command. If the status does not match any expected status, another > message will be logged. > > On IO failure with known status, log message will be > > [ 1712.951735] pm80xx0:: mpi_sata_completion 2269: IO failed device_id > 16385 status 0x1 tag XX > > If the firmware returns unexpected status, log message of the following > format will be logged - > > [ 1712.951735] pm80xx0:: mpi_sata_completion XXXX: Unknown status > device_id XXXXX status 0xX tag XX > > Signed-off-by: Vishakha Channapattan <vishakhavc@xxxxxxxxxx> > Signed-off-by: Viswas G <Viswas.G@xxxxxxxxxxxxx> > Signed-off-by: Ruksar Devadi <Ruksar.devadi@xxxxxxxxxxxxx> > Signed-off-by: Ashokkumar N <Ashokkumar.N@xxxxxxxxxxxxx> > Signed-off-by: Radha Ramachandran <radha@xxxxxxxxxx> Acked-by: Jack Wang <jinpu.wang@xxxxxxxxxxxxxxx> Thx > --- > drivers/scsi/pm8001/pm80xx_hwi.c | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/drivers/scsi/pm8001/pm80xx_hwi.c b/drivers/scsi/pm8001/pm80xx_hwi.c > index df679e36954a..e7fef42b4f6c 100644 > --- a/drivers/scsi/pm8001/pm80xx_hwi.c > +++ b/drivers/scsi/pm8001/pm80xx_hwi.c > @@ -2437,10 +2437,11 @@ mpi_sata_completion(struct pm8001_hba_info *pm8001_ha, void *piomb) > return; > } > > - if (unlikely(status)) > - pm8001_dbg(pm8001_ha, IOERR, > - "status:0x%x, tag:0x%x, task::0x%p\n", > - status, tag, t); > + if (status != IO_SUCCESS) { > + pm8001_dbg(pm8001_ha, FAIL, > + "IO failed device_id %u status 0x%x tag %d\n", > + pm8001_dev->device_id, status, tag); > + } > > /* Print sas address of IO failed device */ > if ((status != IO_SUCCESS) && (status != IO_OVERFLOW) && > @@ -2762,7 +2763,9 @@ mpi_sata_completion(struct pm8001_hba_info *pm8001_ha, void *piomb) > atomic_dec(&pm8001_dev->running_req); > break; > default: > - pm8001_dbg(pm8001_ha, DEVIO, "Unknown status 0x%x\n", status); > + pm8001_dbg(pm8001_ha, DEVIO, > + "Unknown status device_id %u status 0x%x tag %d\n", > + pm8001_dev->device_id, status, tag); > /* not allowed case. Therefore, return failed status */ > ts->resp = SAS_TASK_COMPLETE; > ts->stat = SAS_DEV_NO_RESPONSE; > -- > 2.16.3 >