diff options
Diffstat (limited to 'drivers/scsi/aacraid/linit.c')
-rw-r--r-- | drivers/scsi/aacraid/linit.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c index b48843402cf4..f7e9c89c4915 100644 --- a/drivers/scsi/aacraid/linit.c +++ b/drivers/scsi/aacraid/linit.c | |||
@@ -384,10 +384,13 @@ static int aac_eh_reset(struct scsi_cmnd* cmd) | |||
384 | AAC_DRIVERNAME); | 384 | AAC_DRIVERNAME); |
385 | 385 | ||
386 | 386 | ||
387 | spin_lock_irq(host->host_lock); | ||
388 | |||
387 | aac = (struct aac_dev *)host->hostdata; | 389 | aac = (struct aac_dev *)host->hostdata; |
388 | if (aac_adapter_check_health(aac)) { | 390 | if (aac_adapter_check_health(aac)) { |
389 | printk(KERN_ERR "%s: Host adapter appears dead\n", | 391 | printk(KERN_ERR "%s: Host adapter appears dead\n", |
390 | AAC_DRIVERNAME); | 392 | AAC_DRIVERNAME); |
393 | spin_unlock_irq(host->host_lock); | ||
391 | return -ENODEV; | 394 | return -ENODEV; |
392 | } | 395 | } |
393 | /* | 396 | /* |
@@ -418,6 +421,7 @@ static int aac_eh_reset(struct scsi_cmnd* cmd) | |||
418 | ssleep(1); | 421 | ssleep(1); |
419 | spin_lock_irq(host->host_lock); | 422 | spin_lock_irq(host->host_lock); |
420 | } | 423 | } |
424 | spin_unlock_irq(host->host_lock); | ||
421 | printk(KERN_ERR "%s: SCSI bus appears hung\n", AAC_DRIVERNAME); | 425 | printk(KERN_ERR "%s: SCSI bus appears hung\n", AAC_DRIVERNAME); |
422 | return -ETIMEDOUT; | 426 | return -ETIMEDOUT; |
423 | } | 427 | } |