diff options
author | Lalit Chandivade <lalit.chandivade@qlogic.com> | 2010-09-03 18:20:50 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-09-05 14:33:07 -0400 |
commit | a5b36321918b3a1295748b77c62976c167233eec (patch) | |
tree | d0e89c61324f72deca2ee2f60d61912eb6e51a59 /drivers/scsi/qla2xxx/qla_nx.c | |
parent | 6dbdda4d596f201b8a82a276a0c0b50ef2b899e8 (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.c | 7 |
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 | ||
2260 | static inline void | 2260 | inline void |
2261 | qla82xx_set_drv_active(scsi_qla_host_t *vha) | 2261 | qla82xx_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 | ||
2414 | static int | 2414 | int |
2415 | qla82xx_start_firmware(scsi_qla_host_t *vha) | 2415 | qla82xx_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 */ |