PCI: rockchip: Fix rockchip_pcie_ep_assert_intx() bitwise operations
authorColin Ian King <colin.king@canonical.com>
Sat, 30 Mar 2019 15:09:10 +0000 (15:09 +0000)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Mon, 15 Apr 2019 09:39:26 +0000 (10:39 +0100)
Currently the bitwise operations on the u16 variable 'status' with
the setting ROCKCHIP_PCIE_EP_CMD_STATUS_IS are incorrect because
ROCKCHIP_PCIE_EP_CMD_STATUS_IS is 1UL<<19 which is wider than the
u16 variable.

Fix this by making status a u32.

Fixes: cf590b078391 ("PCI: rockchip: Add EP driver for Rockchip PCIe controller")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Mukesh Ojha <mojha@codeaurora.org>
Acked-by: Shawn Lin <shawn.lin@rock-chips.com>
drivers/pci/controller/pcie-rockchip-ep.c

index a5d799e..d743b0a 100644 (file)
@@ -350,7 +350,7 @@ static void rockchip_pcie_ep_assert_intx(struct rockchip_pcie_ep *ep, u8 fn,
        struct rockchip_pcie *rockchip = &ep->rockchip;
        u32 r = ep->max_regions - 1;
        u32 offset;
-       u16 status;
+       u32 status;
        u8 msg_code;
 
        if (unlikely(ep->irq_pci_addr != ROCKCHIP_PCIE_EP_PCI_LEGACY_IRQ_ADDR ||