summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bfa/bfa_core.c
diff options
context:
space:
mode:
authorKrishna Gudipati2012-08-23 04:52:18 +0200
committerJames Bottomley2012-09-24 10:10:57 +0200
commit9aec02497590cac5abdb5c044e3ec57010b1d808 (patch)
treea11d14e7e61df199b16c28825fbd781cd74ac1aa /drivers/scsi/bfa/bfa_core.c
parent[SCSI] bfa: Add PowerPC support and enable PCIE AER handling. (diff)
downloadkernel-qcow2-linux-9aec02497590cac5abdb5c044e3ec57010b1d808.tar.gz
kernel-qcow2-linux-9aec02497590cac5abdb5c044e3ec57010b1d808.tar.xz
kernel-qcow2-linux-9aec02497590cac5abdb5c044e3ec57010b1d808.zip
[SCSI] bfa: Fix to process mbox interrupts only if interrupts are enabled in INTx mode.
- Made changes to process mbox and error interrupts only if interrupts are enabled, when running in INTx mode. Signed-off-by: Krishna Gudipati <kgudipat@brocade.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/bfa/bfa_core.c')
-rw-r--r--drivers/scsi/bfa/bfa_core.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/scsi/bfa/bfa_core.c b/drivers/scsi/bfa/bfa_core.c
index a4129c929f24..b7c326f7a6d0 100644
--- a/drivers/scsi/bfa/bfa_core.c
+++ b/drivers/scsi/bfa/bfa_core.c
@@ -775,7 +775,8 @@ bfa_intx(struct bfa_s *bfa)
if (!intr)
return BFA_TRUE;
- bfa_msix_lpu_err(bfa, intr);
+ if (bfa->intr_enabled)
+ bfa_msix_lpu_err(bfa, intr);
return BFA_TRUE;
}
@@ -803,11 +804,17 @@ bfa_isr_enable(struct bfa_s *bfa)
writel(~umsk, bfa->iocfc.bfa_regs.intr_mask);
bfa->iocfc.intr_mask = ~umsk;
bfa_isr_mode_set(bfa, bfa->msix.nvecs != 0);
+
+ /*
+ * Set the flag indicating successful enabling of interrupts
+ */
+ bfa->intr_enabled = BFA_TRUE;
}
void
bfa_isr_disable(struct bfa_s *bfa)
{
+ bfa->intr_enabled = BFA_FALSE;
bfa_isr_mode_set(bfa, BFA_FALSE);
writel(-1L, bfa->iocfc.bfa_regs.intr_mask);
bfa_msix_uninstall(bfa);