diff options
author | Giridhar Malavali <giridhar.malavali@qlogic.com> | 2012-01-11 14:44:16 +0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-01-16 12:32:08 +0400 |
commit | e6bd0ebd4a8ba9118e970c0214e912e35895c92b (patch) | |
tree | 9d2283459f996e7e578699a80fca29e8854209ea /drivers/scsi/qla4xxx/ql4_mbx.c | |
parent | 4f77083ed0325ceb9cd5701c0f335583df3dded2 (diff) | |
download | linux-e6bd0ebd4a8ba9118e970c0214e912e35895c92b.tar.xz |
[SCSI] qla4xxx: Disable generating pause frames in case of FW hung
In case of FW hung ISP82xx generates continuous pause frames
which causes switch to disable port.
Added fix to disable generating pause frames in case of
FW hung
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_mbx.c')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_mbx.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_mbx.c b/drivers/scsi/qla4xxx/ql4_mbx.c index c2593782fbbe..e1e66a45e4d0 100644 --- a/drivers/scsi/qla4xxx/ql4_mbx.c +++ b/drivers/scsi/qla4xxx/ql4_mbx.c @@ -219,6 +219,13 @@ int qla4xxx_mailbox_command(struct scsi_qla_host *ha, uint8_t inCount, ha->mailbox_timeout_count++; mbx_sts[0] = (-1); set_bit(DPC_RESET_HA, &ha->dpc_flags); + if (is_qla8022(ha)) { + ql4_printk(KERN_INFO, ha, + "disabling pause transmit on port 0 & 1.\n"); + qla4_8xxx_wr_32(ha, QLA82XX_CRB_NIU + 0x98, + CRB_NIU_XG_PAUSE_CTL_P0 | + CRB_NIU_XG_PAUSE_CTL_P1); + } goto mbox_exit; } |