Message ID | 1558665000-3037-3-git-send-email-ley.foon.tan@intel.com |
---|---|
State | Accepted |
Commit | bf9b9813ad6c4727f733828a100267601cef52d2 |
Delegated to: | Tom Rini |
Headers | show |
Series | Intel FPGA PCIe fixes | expand |
On Fri, May 24, 2019 at 10:29:59AM +0800, Ley Foon Tan wrote: > Hardware return completion status non-zero when read from non exist > function in multi-function PCIe device. Return error will cause PCIe > enumeration fail. > > Change it to return 0 and return value 0xffffffff when error. > > Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com> Applied to u-boot/master, thanks!
diff --git a/drivers/pci/pcie_intel_fpga.c b/drivers/pci/pcie_intel_fpga.c index e74b35ac16..a096d1c697 100644 --- a/drivers/pci/pcie_intel_fpga.c +++ b/drivers/pci/pcie_intel_fpga.c @@ -161,8 +161,10 @@ static int tlp_read_packet(struct intel_fpga_pcie *pcie, u32 *value) dw[count++] = cra_readl(pcie, RP_RXCPL_REG); if (ctrl & RP_RXCPL_EOP) { comp_status = TLP_COMP_STATUS(dw[1]); - if (comp_status) - return -EFAULT; + if (comp_status) { + *value = pci_get_ff(PCI_SIZE_32); + return 0; + } if (value && TLP_BYTE_COUNT(dw[1]) == sizeof(u32) &&
Hardware return completion status non-zero when read from non exist function in multi-function PCIe device. Return error will cause PCIe enumeration fail. Change it to return 0 and return value 0xffffffff when error. Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com> --- drivers/pci/pcie_intel_fpga.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)