提交 4b761557 编写于 作者: R Robert Elliott 提交者: James Bottomley

hpsa: clean up some error reporting output in abort handler

report more useful information on aborts
Reviewed-by: NScott Teel <scott.teel@pmcs.com>
Reviewed-by: NKevin Barnett <kevin.barnett@pmcs.com>
Reviewed-by: NTomas Henzl <thenzl@redhat.com>
Reviewed-by: NHannes Reinecke <hare@Suse.de>
Signed-off-by: NRobert Elliott <elliott@hp.com>
Signed-off-by: NDon Brace <don.brace@pmcs.com>
Reviewed-by: NChristoph Hellwig <hch@lst.de>
Signed-off-by: NJames Bottomley <JBottomley@Odin.com>
上级 105a3dbc
......@@ -5102,10 +5102,10 @@ static int hpsa_eh_abort_handler(struct scsi_cmnd *sc)
return FAILED;
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,
sc->device->id, sc->device->lun,
"Aborting command");
"Aborting command", sc);
/* Get SCSI command to be aborted */
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);
as = abort->scsi_cmd;
if (as != NULL)
ml += sprintf(msg+ml, "Command:0x%x SN:0x%lx ",
as->cmnd[0], as->serial_number);
dev_dbg(&h->pdev->dev, "%s\n", msg);
ml += sprintf(msg+ml,
"CDBLen: %d CDB: 0x%02x%02x... SN: 0x%lx ",
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");
/*
* Command is in flight, or possibly already completed
* 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)) {
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);
return FAILED;
}
......@@ -5150,14 +5154,16 @@ static int hpsa_eh_abort_handler(struct scsi_cmnd *sc)
atomic_inc(&h->abort_cmds_available);
wake_up_all(&h->abort_cmd_wait_queue);
if (rc != 0) {
dev_warn(&h->pdev->dev, "%s SENT, FAILED\n", msg);
hpsa_show_dev_msg(KERN_WARNING, h, dev,
"FAILED to abort command");
"FAILED to abort command");
cmd_free(h, abort);
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
* completed. If not, wait around a bit more to see if they
* manage to complete normally.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册