diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2005-08-26 22:10:20 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-09-04 20:53:57 -0400 |
commit | f6ef3b1872915c6d69ca36cf4ca16269cb9a73ad (patch) | |
tree | 58844cc5d933413b82bd7c348e604e48291b2e35 /drivers/scsi/qla2xxx/qla_os.c | |
parent | fe74c71f6bb63376d92bc606597f0818f5b11c2e (diff) |
[SCSI] qla2xxx: Stop firmware execution at unintialization time.
On ISP24xx parts, stop execution of firmware during ISP
tear-down.
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_os.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index af9b4e77cbff..8982978c42fd 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -79,7 +79,7 @@ module_param(ql2xloginretrycount, int, S_IRUGO|S_IRUSR); | |||
79 | MODULE_PARM_DESC(ql2xloginretrycount, | 79 | MODULE_PARM_DESC(ql2xloginretrycount, |
80 | "Specify an alternate value for the NVRAM login retry count."); | 80 | "Specify an alternate value for the NVRAM login retry count."); |
81 | 81 | ||
82 | int ql2xfwloadbin; | 82 | int ql2xfwloadbin=1; |
83 | module_param(ql2xfwloadbin, int, S_IRUGO|S_IRUSR); | 83 | module_param(ql2xfwloadbin, int, S_IRUGO|S_IRUSR); |
84 | MODULE_PARM_DESC(ql2xfwloadbin, | 84 | MODULE_PARM_DESC(ql2xfwloadbin, |
85 | "Load ISP2xxx firmware image via hotplug."); | 85 | "Load ISP2xxx firmware image via hotplug."); |
@@ -1626,10 +1626,6 @@ qla2x00_free_device(scsi_qla_host_t *ha) | |||
1626 | if (!IS_QLA2100(ha) && !IS_QLA2200(ha)) | 1626 | if (!IS_QLA2100(ha) && !IS_QLA2200(ha)) |
1627 | qla2x00_cancel_io_descriptors(ha); | 1627 | qla2x00_cancel_io_descriptors(ha); |
1628 | 1628 | ||
1629 | /* turn-off interrupts on the card */ | ||
1630 | if (ha->interrupts_on) | ||
1631 | ha->isp_ops.disable_intrs(ha); | ||
1632 | |||
1633 | /* Disable timer */ | 1629 | /* Disable timer */ |
1634 | if (ha->timer_active) | 1630 | if (ha->timer_active) |
1635 | qla2x00_stop_timer(ha); | 1631 | qla2x00_stop_timer(ha); |
@@ -1649,8 +1645,14 @@ qla2x00_free_device(scsi_qla_host_t *ha) | |||
1649 | } | 1645 | } |
1650 | } | 1646 | } |
1651 | 1647 | ||
1652 | qla2x00_mem_free(ha); | 1648 | /* Stop currently executing firmware. */ |
1649 | qla2x00_stop_firmware(ha); | ||
1653 | 1650 | ||
1651 | /* turn-off interrupts on the card */ | ||
1652 | if (ha->interrupts_on) | ||
1653 | ha->isp_ops.disable_intrs(ha); | ||
1654 | |||
1655 | qla2x00_mem_free(ha); | ||
1654 | 1656 | ||
1655 | ha->flags.online = 0; | 1657 | ha->flags.online = 0; |
1656 | 1658 | ||