Re: [PATCH] PCI: rockchip: Correct the register value for clearing client interrupts

From: Bjorn Helgaas
Date: Wed Aug 31 2016 - 09:07:31 EST


On Mon, Aug 29, 2016 at 02:14:11PM -0700, Brian Norris wrote:
> I'm pretty sure the bitwise 'or' was meant for the value parameter, not
> the register parameter.
>
> This resolves an interrupt storm, where if we receive any client IRQs
> (e.g., correctable errors), we fail to ever clear them properly, so they
> reoccur indefinitely.
>
> Fixes: 199410f6270e ("PCI: rockchip: Add Rockchip PCIe controller support")
> Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx>
> Cc: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx>

I folded this into the initial commit, since Shawn confirmed it is correct.

> ---
> Patched against git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/host-rockchip
>
> drivers/pci/host/pcie-rockchip.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/pci/host/pcie-rockchip.c b/drivers/pci/host/pcie-rockchip.c
> index 8fb47ee9eaee..e77aec3cc869 100644
> --- a/drivers/pci/host/pcie-rockchip.c
> +++ b/drivers/pci/host/pcie-rockchip.c
> @@ -689,9 +689,10 @@ static irqreturn_t rockchip_pcie_client_irq_handler(int irq, void *arg)
> PCIE_CLIENT_INT_MSG | PCIE_CLIENT_INT_HOT_RST |
> PCIE_CLIENT_INT_DPA | PCIE_CLIENT_INT_FATAL_ERR |
> PCIE_CLIENT_INT_NFATAL_ERR |
> - PCIE_CLIENT_INT_CORR_ERR),
> - PCIE_CLIENT_INT_STATUS |
> - PCIE_CLIENT_INT_PHY);
> + PCIE_CLIENT_INT_CORR_ERR |
> + PCIE_CLIENT_INT_PHY),
> + PCIE_CLIENT_INT_STATUS);
> +
> return IRQ_HANDLED;
> }
>
> --
> 2.8.0.rc3.226.g39d4020
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html