aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla4xxx
diff options
context:
space:
mode:
authorVikas Chaudhary <vikas.chaudhary@qlogic.com>2010-10-07 01:49:08 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-10-25 15:50:08 -0400
commit3710c60c09f555df69d12b0232702d062fe3bcd6 (patch)
treeae846194fe781fd557273c08da5887a1cec5877a /drivers/scsi/qla4xxx
parent735e41543c12c245290cf652727893a66cbd8ab6 (diff)
[SCSI] qla4xxx: free_irqs on failed initialize_adapter
Since interrupts are registered in start_firmware(load_risc) for 82xx, free them if init_firmware fails. Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: Karen Higgins <karen.higgins@qlogic.com> Signed-off-by: Ravi Anand <ravi.anand@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/qla4xxx')
-rw-r--r--drivers/scsi/qla4xxx/ql4_init.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_init.c b/drivers/scsi/qla4xxx/ql4_init.c
index b6046afe370c..dc01fa3da5d1 100644
--- a/drivers/scsi/qla4xxx/ql4_init.c
+++ b/drivers/scsi/qla4xxx/ql4_init.c
@@ -1459,6 +1459,12 @@ int qla4xxx_initialize_adapter(struct scsi_qla_host *ha,
1459exit_init_online: 1459exit_init_online:
1460 set_bit(AF_ONLINE, &ha->flags); 1460 set_bit(AF_ONLINE, &ha->flags);
1461exit_init_hba: 1461exit_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;