diff options
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_init.c')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_init.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_init.c b/drivers/scsi/qla4xxx/ql4_init.c index 4c9be77ee70b..dc01fa3da5d1 100644 --- a/drivers/scsi/qla4xxx/ql4_init.c +++ b/drivers/scsi/qla4xxx/ql4_init.c | |||
@@ -1207,8 +1207,8 @@ static int qla4xxx_start_firmware_from_flash(struct scsi_qla_host *ha) | |||
1207 | break; | 1207 | break; |
1208 | 1208 | ||
1209 | DEBUG2(printk(KERN_INFO "scsi%ld: %s: Waiting for boot " | 1209 | DEBUG2(printk(KERN_INFO "scsi%ld: %s: Waiting for boot " |
1210 | "firmware to complete... ctrl_sts=0x%x\n", | 1210 | "firmware to complete... ctrl_sts=0x%x, remaining=%ld\n", |
1211 | ha->host_no, __func__, ctrl_status)); | 1211 | ha->host_no, __func__, ctrl_status, max_wait_time)); |
1212 | 1212 | ||
1213 | msleep_interruptible(250); | 1213 | msleep_interruptible(250); |
1214 | } while (!time_after_eq(jiffies, max_wait_time)); | 1214 | } while (!time_after_eq(jiffies, max_wait_time)); |
@@ -1459,6 +1459,12 @@ int qla4xxx_initialize_adapter(struct scsi_qla_host *ha, | |||
1459 | exit_init_online: | 1459 | exit_init_online: |
1460 | set_bit(AF_ONLINE, &ha->flags); | 1460 | set_bit(AF_ONLINE, &ha->flags); |
1461 | exit_init_hba: | 1461 | exit_init_hba: |
1462 | if (is_qla8022(ha) && (status == QLA_ERROR)) { | ||
1463 | /* Since interrupts are registered in start_firmware for | ||
1464 | * 82xx, release them here if initialize_adapter fails */ | ||
1465 | qla4xxx_free_irqs(ha); | ||
1466 | } | ||
1467 | |||
1462 | DEBUG2(printk("scsi%ld: initialize adapter: %s\n", ha->host_no, | 1468 | DEBUG2(printk("scsi%ld: initialize adapter: %s\n", ha->host_no, |
1463 | status == QLA_ERROR ? "FAILED" : "SUCCEDED")); | 1469 | status == QLA_ERROR ? "FAILED" : "SUCCEDED")); |
1464 | return status; | 1470 | return status; |