aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/aacraid/linit.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/aacraid/linit.c')
-rw-r--r--drivers/scsi/aacraid/linit.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c
index 720330778648..9f3cc7b7123d 100644
--- a/drivers/scsi/aacraid/linit.c
+++ b/drivers/scsi/aacraid/linit.c
@@ -243,6 +243,7 @@ static struct aac_driver_ident aac_drivers[] = {
243static int aac_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)) 243static int aac_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
244{ 244{
245 cmd->scsi_done = done; 245 cmd->scsi_done = done;
246 cmd->SCp.phase = AAC_OWNER_LOWLEVEL;
246 return (aac_scsi_cmd(cmd) ? FAILED : 0); 247 return (aac_scsi_cmd(cmd) ? FAILED : 0);
247} 248}
248 249
@@ -471,7 +472,8 @@ static int aac_eh_reset(struct scsi_cmnd* cmd)
471 __shost_for_each_device(dev, host) { 472 __shost_for_each_device(dev, host) {
472 spin_lock_irqsave(&dev->list_lock, flags); 473 spin_lock_irqsave(&dev->list_lock, flags);
473 list_for_each_entry(command, &dev->cmd_list, list) { 474 list_for_each_entry(command, &dev->cmd_list, list) {
474 if (command->serial_number) { 475 if ((command != cmd) &&
476 (command->SCp.phase == AAC_OWNER_FIRMWARE)) {
475 active++; 477 active++;
476 break; 478 break;
477 } 479 }