diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_os.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 1693998aa727..360974eb2b26 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -613,12 +613,8 @@ qla2xxx_eh_device_reset(struct scsi_cmnd *cmd) | |||
613 | qla_printk(KERN_INFO, ha, | 613 | qla_printk(KERN_INFO, ha, |
614 | "scsi(%ld:%d:%d): DEVICE RESET ISSUED.\n", ha->host_no, id, lun); | 614 | "scsi(%ld:%d:%d): DEVICE RESET ISSUED.\n", ha->host_no, id, lun); |
615 | 615 | ||
616 | spin_unlock_irq(ha->host->host_lock); | 616 | if (qla2x00_wait_for_hba_online(ha) != QLA_SUCCESS) |
617 | |||
618 | if (qla2x00_wait_for_hba_online(ha) != QLA_SUCCESS) { | ||
619 | spin_lock_irq(ha->host->host_lock); | ||
620 | goto eh_dev_reset_done; | 617 | goto eh_dev_reset_done; |
621 | } | ||
622 | 618 | ||
623 | if (qla2x00_wait_for_loop_ready(ha) == QLA_SUCCESS) { | 619 | if (qla2x00_wait_for_loop_ready(ha) == QLA_SUCCESS) { |
624 | if (qla2x00_device_reset(ha, fcport) == 0) | 620 | if (qla2x00_device_reset(ha, fcport) == 0) |
@@ -669,8 +665,6 @@ qla2xxx_eh_device_reset(struct scsi_cmnd *cmd) | |||
669 | "scsi(%ld:%d:%d): DEVICE RESET SUCCEEDED.\n", ha->host_no, id, lun); | 665 | "scsi(%ld:%d:%d): DEVICE RESET SUCCEEDED.\n", ha->host_no, id, lun); |
670 | 666 | ||
671 | eh_dev_reset_done: | 667 | eh_dev_reset_done: |
672 | spin_lock_irq(ha->host->host_lock); | ||
673 | |||
674 | return ret; | 668 | return ret; |
675 | } | 669 | } |
676 | 670 | ||