hpsa: clean up some error reporting output in abort handler

report more useful information on aborts

Reviewed-by: Scott Teel <scott.teel@pmcs.com>
Reviewed-by: Kevin Barnett <kevin.barnett@pmcs.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Reviewed-by: Hannes Reinecke <hare@Suse.de>
Signed-off-by: Robert Elliott <elliott@hp.com>
Signed-off-by: Don Brace <don.brace@pmcs.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
This commit is contained in:
Robert Elliott 2015-04-23 09:33:54 -05:00 committed by James Bottomley
parent 105a3dbc74
commit 4b761557d7

View file

@ -5102,10 +5102,10 @@ static int hpsa_eh_abort_handler(struct scsi_cmnd *sc)
return FAILED; return FAILED;
memset(msg, 0, sizeof(msg)); memset(msg, 0, sizeof(msg));
ml += sprintf(msg+ml, "scsi %d:%d:%d:%llu %s", ml += sprintf(msg+ml, "scsi %d:%d:%d:%llu %s %p",
h->scsi_host->host_no, sc->device->channel, h->scsi_host->host_no, sc->device->channel,
sc->device->id, sc->device->lun, sc->device->id, sc->device->lun,
"Aborting command"); "Aborting command", sc);
/* Get SCSI command to be aborted */ /* Get SCSI command to be aborted */
abort = (struct CommandList *) sc->host_scribble; abort = (struct CommandList *) sc->host_scribble;
@ -5131,10 +5131,13 @@ static int hpsa_eh_abort_handler(struct scsi_cmnd *sc)
ml += sprintf(msg+ml, "Tag:0x%08x:%08x ", tagupper, taglower); ml += sprintf(msg+ml, "Tag:0x%08x:%08x ", tagupper, taglower);
as = abort->scsi_cmd; as = abort->scsi_cmd;
if (as != NULL) if (as != NULL)
ml += sprintf(msg+ml, "Command:0x%x SN:0x%lx ", ml += sprintf(msg+ml,
as->cmnd[0], as->serial_number); "CDBLen: %d CDB: 0x%02x%02x... SN: 0x%lx ",
dev_dbg(&h->pdev->dev, "%s\n", msg); as->cmd_len, as->cmnd[0], as->cmnd[1],
as->serial_number);
dev_warn(&h->pdev->dev, "%s BEING SENT\n", msg);
hpsa_show_dev_msg(KERN_WARNING, h, dev, "Aborting command"); hpsa_show_dev_msg(KERN_WARNING, h, dev, "Aborting command");
/* /*
* Command is in flight, or possibly already completed * Command is in flight, or possibly already completed
* by the firmware (but not to the scsi mid layer) but we can't * by the firmware (but not to the scsi mid layer) but we can't
@ -5142,7 +5145,8 @@ static int hpsa_eh_abort_handler(struct scsi_cmnd *sc)
*/ */
if (wait_for_available_abort_cmd(h)) { if (wait_for_available_abort_cmd(h)) {
dev_warn(&h->pdev->dev, dev_warn(&h->pdev->dev,
"Timed out waiting for an abort command to become available.\n"); "%s FAILED, timeout waiting for an abort command to become available.\n",
msg);
cmd_free(h, abort); cmd_free(h, abort);
return FAILED; return FAILED;
} }
@ -5150,14 +5154,16 @@ static int hpsa_eh_abort_handler(struct scsi_cmnd *sc)
atomic_inc(&h->abort_cmds_available); atomic_inc(&h->abort_cmds_available);
wake_up_all(&h->abort_cmd_wait_queue); wake_up_all(&h->abort_cmd_wait_queue);
if (rc != 0) { if (rc != 0) {
dev_warn(&h->pdev->dev, "%s SENT, FAILED\n", msg);
hpsa_show_dev_msg(KERN_WARNING, h, dev, hpsa_show_dev_msg(KERN_WARNING, h, dev,
"FAILED to abort command"); "FAILED to abort command");
cmd_free(h, abort); cmd_free(h, abort);
return FAILED; return FAILED;
} }
dev_info(&h->pdev->dev, "%s REQUEST SUCCEEDED.\n", msg); dev_info(&h->pdev->dev, "%s SENT, SUCCESS\n", msg);
/* If the abort(s) above completed and actually aborted the /*
* If the abort(s) above completed and actually aborted the
* command, then the command to be aborted should already be * command, then the command to be aborted should already be
* completed. If not, wait around a bit more to see if they * completed. If not, wait around a bit more to see if they
* manage to complete normally. * manage to complete normally.