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

Commit 665d6d94 authored by Jayamohan Kallickal's avatar Jayamohan Kallickal Committed by James Bottomley
Browse files

[SCSI] be2iscsi: fix boot hang due to interrupts not getting rearmed



This patch fixes a bug where the interrupts were not rearmed if
the Interrupt Mask was enabled. This patch checks for Interrupt mask
enabled and still rearms interrupt generation even if the Interrupt
mask was enabled

Signed-off-by: default avatarJayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent 87f76152
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -3465,13 +3465,14 @@ static void hwi_enable_intr(struct beiscsi_hba *phba)
	addr = (u8 __iomem *) ((u8 __iomem *) ctrl->pcicfg +
			PCICFG_MEMBAR_CTRL_INT_CTRL_OFFSET);
	reg = ioread32(addr);
	SE_DEBUG(DBG_LVL_8, "reg =x%08x\n", reg);

	enabled = reg & MEMBAR_CTRL_INT_CTRL_HOSTINTR_MASK;
	if (!enabled) {
		reg |= MEMBAR_CTRL_INT_CTRL_HOSTINTR_MASK;
		SE_DEBUG(DBG_LVL_8, "reg =x%08x addr=%p\n", reg, addr);
		iowrite32(reg, addr);
	}

	if (!phba->msix_enabled) {
		eq = &phwi_context->be_eq[0].q;
		SE_DEBUG(DBG_LVL_8, "eq->id=%d\n", eq->id);
@@ -3484,7 +3485,6 @@ static void hwi_enable_intr(struct beiscsi_hba *phba)
		}
	}
}
}

static void hwi_disable_intr(struct beiscsi_hba *phba)
{