Commit 9aec0249 authored by Krishna Gudipati's avatar Krishna Gudipati Committed by James Bottomley
Browse files

[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: default avatarKrishna Gudipati <kgudipat@brocade.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent 881c1b3c
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -775,6 +775,7 @@ bfa_intx(struct bfa_s *bfa)
	if (!intr)
		return BFA_TRUE;

	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);
+1 −0
Original line number Diff line number Diff line
@@ -121,6 +121,7 @@ struct bfa_s {
	bfa_boolean_t		fcs;		/*  FCS is attached to BFA */
	struct bfa_msix_s	msix;
	int			bfa_aen_seq;
	bfa_boolean_t		intr_enabled;	/*  Status of interrupts */
};

extern bfa_boolean_t bfa_auto_recover;