Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ff2477ba authored by Nilesh Javali's avatar Nilesh Javali Committed by James Bottomley
Browse files

[SCSI] qla4xxx: Add spurious interrupt messages under debug level 2



The spurious interrupt messages are seen when interrupt lines are
shared between different adapters or modules. Example, interrupt
lines are shared between qlcnic and qla4xxx and USB modules, then the
console is flooded with flurry of spurious interrupt messages
which are expected in such scenario.

Hence put these messages under debug level 2 for INTx interrupt mode.

Signed-off-by: default avatarNilesh Javali <nilesh.javali@qlogic.com>
Signed-off-by: default avatarVikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent c3b331a3
Loading
Loading
Loading
Loading
+7 −6
Original line number Original line Diff line number Diff line
@@ -1124,17 +1124,18 @@ irqreturn_t qla4_83xx_intr_handler(int irq, void *dev_id)


	/* Legacy interrupt is valid if bit31 of leg_int_ptr is set */
	/* Legacy interrupt is valid if bit31 of leg_int_ptr is set */
	if (!(leg_int_ptr & LEG_INT_PTR_B31)) {
	if (!(leg_int_ptr & LEG_INT_PTR_B31)) {
		ql4_printk(KERN_ERR, ha,
		DEBUG2(ql4_printk(KERN_ERR, ha,
				  "%s: Legacy Interrupt Bit 31 not set, spurious interrupt!\n",
				  "%s: Legacy Interrupt Bit 31 not set, spurious interrupt!\n",
			   __func__);
				  __func__));
		return IRQ_NONE;
		return IRQ_NONE;
	}
	}


	/* Validate the PCIE function ID set in leg_int_ptr bits [19..16] */
	/* Validate the PCIE function ID set in leg_int_ptr bits [19..16] */
	if ((leg_int_ptr & PF_BITS_MASK) != ha->pf_bit) {
	if ((leg_int_ptr & PF_BITS_MASK) != ha->pf_bit) {
		ql4_printk(KERN_ERR, ha,
		DEBUG2(ql4_printk(KERN_ERR, ha,
				  "%s: Incorrect function ID 0x%x in legacy interrupt register, ha->pf_bit = 0x%x\n",
				  "%s: Incorrect function ID 0x%x in legacy interrupt register, ha->pf_bit = 0x%x\n",
			   __func__, (leg_int_ptr & PF_BITS_MASK), ha->pf_bit);
				  __func__, (leg_int_ptr & PF_BITS_MASK),
				  ha->pf_bit));
		return IRQ_NONE;
		return IRQ_NONE;
	}
	}