From: Xiang Chen Date: Thu, 10 Aug 2017 16:09:37 +0000 (+0800) Subject: scsi: hisi_sas: fix v3 hw channel interrupt processing X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=4f73575a79b556778dd6b7d96af69da24a29bb25;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git scsi: hisi_sas: fix v3 hw channel interrupt processing The channel interrupt is to process all the interrupts except PHY UP/DOWN and broadcast interrupt. So we need to clear all the interrupts except those 3 interrupts after processing channel interrupts. Signed-off-by: Xiang Chen Signed-off-by: John Garry Signed-off-by: Martin K. Petersen --- diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c index bb79b7763cba..a8bd5576afda 100644 --- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c @@ -1260,7 +1260,7 @@ static irqreturn_t int_chnl_int_v3_hw(int irq_no, void *p) if (irq_msk & (2 << (phy_no * 4)) && irq_value0) { hisi_sas_phy_write32(hisi_hba, phy_no, CHL_INT0, irq_value0 - & (~CHL_INT0_HOTPLUG_TOUT_MSK) + & (~CHL_INT0_SL_RX_BCST_ACK_MSK) & (~CHL_INT0_SL_PHY_ENABLE_MSK) & (~CHL_INT0_NOT_RDY_MSK)); }