diff options
author | Pali Rohár <pali@kernel.org> | 2021-10-19 11:05:01 +0200 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2021-10-21 07:39:05 +0200 |
commit | bd4064ff8a82460d6a497faf66ac5830ffe452b1 (patch) | |
tree | 4df84ba89b5deaa72d9f77625557aa07fdad6f04 /drivers/pci/pci-aardvark.c | |
parent | 7609e02a25c4d5347146912380cf287a1dd5b300 (diff) | |
download | u-boot-bd4064ff8a82460d6a497faf66ac5830ffe452b1.zip u-boot-bd4064ff8a82460d6a497faf66ac5830ffe452b1.tar.gz u-boot-bd4064ff8a82460d6a497faf66ac5830ffe452b1.tar.bz2 |
arm: a37xx: pci: Fix condition for CRS response
As stated in comment above the code, CRS response can be returned to OS
only for 4-byte PCI_VENDOR_ID config read request. So fix the code.
Fixes: 1d7ad68559e2 ("arm: a37xx: pci: Handle propagation of CRSSVE bit from PCIe Root Port")
Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'drivers/pci/pci-aardvark.c')
-rw-r--r-- | drivers/pci/pci-aardvark.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/pci/pci-aardvark.c b/drivers/pci/pci-aardvark.c index ade5ab0..9e623b6 100644 --- a/drivers/pci/pci-aardvark.c +++ b/drivers/pci/pci-aardvark.c @@ -445,7 +445,7 @@ static int pcie_advk_read_config(const struct udevice *bus, pci_dev_t bdf, * for returning CRS, so that if U-Boot does support CRS in the future, * it will work for Aardvark. */ - allow_crs = pcie->cfgcrssve; + allow_crs = (offset == PCI_VENDOR_ID) && (size == PCI_SIZE_32) && pcie->cfgcrssve; if (advk_readl(pcie, PIO_START)) { dev_err(pcie->dev, |