Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- From: Victor Gu <xigu@marvell.com>
- When setting the PIO_ADDR_LS register during a configuration read, we
- were properly passing the device number, function number and register
- number, but not the bus number, causing issues when reading the
- configuration of PCIe devices.
- Fixes: 8c39d710363c1 ("PCI: aardvark: Add Aardvark PCI host controller driver")
- Cc: <stable@vger.kernel.org>
- Signed-off-by: Victor Gu <xigu@marvell.com>
- Reviewed-by: Wilson Ding <dingwei@marvell.com>
- Reviewed-by: Nadav Haklai <nadavh@marvell.com>
- [Thomas: tweak commit log.]
- Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
- ---
- drivers/pci/host/pci-aardvark.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
- diff --git a/drivers/pci/host/pci-aardvark.c b/drivers/pci/host/pci-aardvark.c
- index da2881ba7737..af7a9c4a61a4 100644
- --- a/drivers/pci/host/pci-aardvark.c
- +++ b/drivers/pci/host/pci-aardvark.c
- @@ -459,7 +459,7 @@ static int advk_pcie_rd_conf(struct pci_bus *bus, u32 devfn,
- advk_writel(pcie, reg, PIO_CTRL);
- /* Program the address registers */
- - reg = PCIE_BDF(devfn) | PCIE_CONF_REG(where);
- + reg = PCIE_CONF_ADDR(bus->number, devfn, where);
- advk_writel(pcie, reg, PIO_ADDR_LS);
- advk_writel(pcie, 0, PIO_ADDR_MS);
Add Comment
Please, Sign In to add comment