In the hunk above you use the '|=' which is not needed, a simple
assignment is more readable, see below.
Tomas
@@ -493,6 +499,8 @@ static int
megasas_clear_intr_skinny(struct megasas_register_set __iomem *regs)
{
u32 status;
+ u32 mfiStatus;
+
/*
* Check if it is our interrupt
*/
@@ -503,6 +511,15 @@ megasas_clear_intr_skinny(struct megasas_register_set __iomem *regs)
}
/*
+ * Check if it is our interrupt
+ */
+ if ((megasas_read_fw_status_reg_gen2( regs) & MFI_STATE_MASK) ==
+ MFI_STATE_FAULT)
+ mfiStatus = MFI_INTR_FLAG_FIRMWARE_STATE_CHANGE;
+ else
+ mfiStatus = MFI_INTR_FLAG_REPLY_MESSAGE;
+
+ /*
* Clear the interrupt by writing back the same value
*/
writel(status, ®s->outbound_intr_status);
--