aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_nx.c
diff options
context:
space:
mode:
authorLalit Chandivade <lalit.chandivade@qlogic.com>2010-09-03 18:20:50 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-09-05 14:33:07 -0400
commita5b36321918b3a1295748b77c62976c167233eec (patch)
treed0e89c61324f72deca2ee2f60d61912eb6e51a59 /drivers/scsi/qla2xxx/qla_nx.c
parent6dbdda4d596f201b8a82a276a0c0b50ef2b899e8 (diff)
[SCSI] qla2xxx: Added AER support for ISP82xx.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_nx.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_nx.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_nx.c b/drivers/scsi/qla2xxx/qla_nx.c
index 915b77a6e193..2ad91100a7e4 100644
--- a/drivers/scsi/qla2xxx/qla_nx.c
+++ b/drivers/scsi/qla2xxx/qla_nx.c
@@ -2257,7 +2257,7 @@ void qla82xx_init_flags(struct qla_hw_data *ha)
2257 ha->nx_legacy_intr.pci_int_reg = nx_legacy_intr->pci_int_reg; 2257 ha->nx_legacy_intr.pci_int_reg = nx_legacy_intr->pci_int_reg;
2258} 2258}
2259 2259
2260static inline void 2260inline void
2261qla82xx_set_drv_active(scsi_qla_host_t *vha) 2261qla82xx_set_drv_active(scsi_qla_host_t *vha)
2262{ 2262{
2263 uint32_t drv_active; 2263 uint32_t drv_active;
@@ -2411,7 +2411,7 @@ fw_load_failed:
2411 return QLA_FUNCTION_FAILED; 2411 return QLA_FUNCTION_FAILED;
2412} 2412}
2413 2413
2414static int 2414int
2415qla82xx_start_firmware(scsi_qla_host_t *vha) 2415qla82xx_start_firmware(scsi_qla_host_t *vha)
2416{ 2416{
2417 int pcie_cap; 2417 int pcie_cap;
@@ -3291,6 +3291,9 @@ qla82xx_check_fw_alive(scsi_qla_host_t *vha)
3291 struct qla_hw_data *ha = vha->hw; 3291 struct qla_hw_data *ha = vha->hw;
3292 3292
3293 fw_heartbeat_counter = qla82xx_rd_32(ha, QLA82XX_PEG_ALIVE_COUNTER); 3293 fw_heartbeat_counter = qla82xx_rd_32(ha, QLA82XX_PEG_ALIVE_COUNTER);
3294 /* all 0xff, assume AER/EEH in progress, ignore */
3295 if (fw_heartbeat_counter == 0xffffffff)
3296 return;
3294 if (vha->fw_heartbeat_counter == fw_heartbeat_counter) { 3297 if (vha->fw_heartbeat_counter == fw_heartbeat_counter) {
3295 vha->seconds_since_last_heartbeat++; 3298 vha->seconds_since_last_heartbeat++;
3296 /* FW not alive after 2 seconds */ 3299 /* FW not alive after 2 seconds */