Message ID | 20240217133722.14391-1-wahrenst@gmx.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | PCI: brcmstb: fix broken brcm_pcie_mdio_write() polling | expand |
On 2/17/2024 5:37 AM, Stefan Wahren wrote: > From: Jonathan Bell <jonathan@raspberrypi.com> > > MDIO_WR_DONE() tests bit 31, which is always 0 (==done) as > readw_poll_timeout_atomic does a 16-bit read. Replace with the readl > variant. > > Fixes: ca5dcc76314d ("PCI: brcmstb: Replace status loops with read_poll_timeout_atomic()") > Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> > Signed-off-by: Stefan Wahren <wahrenst@gmx.net> Excellent catch! Not sure what the real world impact was. Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Hi, Am 17.02.24 um 18:27 schrieb Florian Fainelli: > > > On 2/17/2024 5:37 AM, Stefan Wahren wrote: >> From: Jonathan Bell <jonathan@raspberrypi.com> >> >> MDIO_WR_DONE() tests bit 31, which is always 0 (==done) as >> readw_poll_timeout_atomic does a 16-bit read. Replace with the readl >> variant. >> >> Fixes: ca5dcc76314d ("PCI: brcmstb: Replace status loops with >> read_poll_timeout_atomic()") >> Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> >> Signed-off-by: Stefan Wahren <wahrenst@gmx.net> > > Excellent catch! Not sure what the real world impact was. > > Acked-by: Florian Fainelli <florian.fainelli@broadcom.com> is there anything what prevents this patch from being applied?
Am 02.03.24 um 10:45 schrieb Stefan Wahren: > Hi, > > Am 17.02.24 um 18:27 schrieb Florian Fainelli: >> >> >> On 2/17/2024 5:37 AM, Stefan Wahren wrote: >>> From: Jonathan Bell <jonathan@raspberrypi.com> >>> >>> MDIO_WR_DONE() tests bit 31, which is always 0 (==done) as >>> readw_poll_timeout_atomic does a 16-bit read. Replace with the readl >>> variant. >>> >>> Fixes: ca5dcc76314d ("PCI: brcmstb: Replace status loops with >>> read_poll_timeout_atomic()") >>> Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> >>> Signed-off-by: Stefan Wahren <wahrenst@gmx.net> >> >> Excellent catch! Not sure what the real world impact was. >> >> Acked-by: Florian Fainelli <florian.fainelli@broadcom.com> > is there anything what prevents this patch from being applied? ping
Hello, > MDIO_WR_DONE() tests bit 31, which is always 0 (==done) as > readw_poll_timeout_atomic does a 16-bit read. Replace with the readl > variant. Applied to controller/broadcom, thank you! [1/1] PCI: brcmstb: Fix broken brcm_pcie_mdio_write() polling https://git.kernel.org/pci/pci/c/48389d984332 Krzysztof
Hello, [...] > > is there anything what prevents this patch from being applied? > ping Everything looks good! Apologies for the delay. Krzysztof
diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c index 618e84402eb50..a7f05e0c4ac51 100644 --- a/drivers/pci/controller/pcie-brcmstb.c +++ b/drivers/pci/controller/pcie-brcmstb.c @@ -420,7 +420,7 @@ static int brcm_pcie_mdio_write(void __iomem *base, u8 port, readl(base + PCIE_RC_DL_MDIO_ADDR); writel(MDIO_DATA_DONE_MASK | wrdata, base + PCIE_RC_DL_MDIO_WR_DATA); - err = readw_poll_timeout_atomic(base + PCIE_RC_DL_MDIO_WR_DATA, data, + err = readl_poll_timeout_atomic(base + PCIE_RC_DL_MDIO_WR_DATA, data, MDIO_WT_DONE(data), 10, 100); return err; }