Message ID | 20190330150910.9389-1-colin.king@canonical.com (mailing list archive) |
---|---|
State | Accepted, archived |
Commit | c577f4a5a08bb9677e12ddafb62e2f3a901de87f |
Headers | show |
Series | PCI: rockchip: fix bitwise operations on status and ROCKCHIP_PCIE_EP_CMD_STATUS_IS | expand |
On 3/30/2019 8:39 PM, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > 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. (Not tested). > > Fixes: cf590b078391 ("PCI: rockchip: Add EP driver for Rockchip PCIe controller") > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > drivers/pci/controller/pcie-rockchip-ep.c | 2 +- Looks valid to me. Reviewed-by: Mukesh Ojha <mojha@codeaurora.org> Cheers, -Mukesh > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pci/controller/pcie-rockchip-ep.c b/drivers/pci/controller/pcie-rockchip-ep.c > index a5d799e2dff2..d743b0a48988 100644 > --- a/drivers/pci/controller/pcie-rockchip-ep.c > +++ b/drivers/pci/controller/pcie-rockchip-ep.c > @@ -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 ||
On Sat, Mar 30, 2019 at 03:09:10PM +0000, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > 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. (Not tested). > > Fixes: cf590b078391 ("PCI: rockchip: Add EP driver for Rockchip PCIe controller") > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > drivers/pci/controller/pcie-rockchip-ep.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Shawn, I need your ACK on this patch, thanks. Lorenzo > diff --git a/drivers/pci/controller/pcie-rockchip-ep.c b/drivers/pci/controller/pcie-rockchip-ep.c > index a5d799e2dff2..d743b0a48988 100644 > --- a/drivers/pci/controller/pcie-rockchip-ep.c > +++ b/drivers/pci/controller/pcie-rockchip-ep.c > @@ -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 || > -- > 2.20.1 >
On 2019/4/12 17:51, Lorenzo Pieralisi wrote: > On Sat, Mar 30, 2019 at 03:09:10PM +0000, Colin King wrote: >> From: Colin Ian King <colin.king@canonical.com> >> >> 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. (Not tested). >> >> Fixes: cf590b078391 ("PCI: rockchip: Add EP driver for Rockchip PCIe controller") >> Signed-off-by: Colin Ian King <colin.king@canonical.com> >> --- >> drivers/pci/controller/pcie-rockchip-ep.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) > > Shawn, > > I need your ACK on this patch, thanks. Acked-by: Shawn Lin <shawn.lin@rock-chips.com> > > Lorenzo > >> diff --git a/drivers/pci/controller/pcie-rockchip-ep.c b/drivers/pci/controller/pcie-rockchip-ep.c >> index a5d799e2dff2..d743b0a48988 100644 >> --- a/drivers/pci/controller/pcie-rockchip-ep.c >> +++ b/drivers/pci/controller/pcie-rockchip-ep.c >> @@ -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 || >> -- >> 2.20.1 >> > > >
On Sat, Mar 30, 2019 at 03:09:10PM +0000, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > 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. (Not tested). > > Fixes: cf590b078391 ("PCI: rockchip: Add EP driver for Rockchip PCIe controller") > Signed-off-by: Colin Ian King <colin.king@canonical.com> > --- > drivers/pci/controller/pcie-rockchip-ep.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied to pci/rockchip for v5.2, thanks. Lorenzo > diff --git a/drivers/pci/controller/pcie-rockchip-ep.c b/drivers/pci/controller/pcie-rockchip-ep.c > index a5d799e2dff2..d743b0a48988 100644 > --- a/drivers/pci/controller/pcie-rockchip-ep.c > +++ b/drivers/pci/controller/pcie-rockchip-ep.c > @@ -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 || > -- > 2.20.1 >
diff --git a/drivers/pci/controller/pcie-rockchip-ep.c b/drivers/pci/controller/pcie-rockchip-ep.c index a5d799e2dff2..d743b0a48988 100644 --- a/drivers/pci/controller/pcie-rockchip-ep.c +++ b/drivers/pci/controller/pcie-rockchip-ep.c @@ -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 ||