On 15/10, Ray Jui wrote: > > > On 10/15/2021 7:38 AM, Naveen Naidu wrote: > > An MMIO read from a PCI device that doesn't exist or doesn't respond > > causes a PCI error. There's no real data to return to satisfy the > > CPU read, so most hardware fabricates ~0 data. > > > > The host controller drivers sets the error response values (~0) and > > returns an error when faulty hardware read occurs. But the error > > response value (~0) is already being set in PCI_OP_READ and > > PCI_USER_READ_CONFIG whenever a read by host controller driver fails. > > > > Thus, it's no longer necessary for the host controller drivers to > > fabricate any error response. > > > > This helps unify PCI error response checking and make error check > > consistent and easier to find. > > > > Signed-off-by: Naveen Naidu <naveennaidu479@xxxxxxxxx> > > --- > > drivers/pci/controller/pcie-iproc.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/drivers/pci/controller/pcie-iproc.c b/drivers/pci/controller/pcie-iproc.c > > index 30ac5fbefbbf..e3d86416a4fb 100644 > > --- a/drivers/pci/controller/pcie-iproc.c > > +++ b/drivers/pci/controller/pcie-iproc.c > > @@ -659,10 +659,8 @@ static int iproc_pci_raw_config_read32(struct iproc_pcie *pcie, > > void __iomem *addr; > > > > addr = iproc_pcie_map_cfg_bus(pcie, 0, devfn, where & ~0x3); > > - if (!addr) { > > - *val = ~0; > > + if (!addr) > > return PCIBIOS_DEVICE_NOT_FOUND; > > - } > > > > *val = readl(addr); > > > > > > I think it would be helpful if you include us in the review of the PCI > core code change (pci.h and access.c) so we get the right context to > review this change at the individual driver level. > I apologize for the rookie mistake ^^', I'll see to it from next time that I always add proper recepients to the patches so that everyone gets enough context. > The driver change looks fine to me, as long as the change in the core is > reviewed and approved. > Thank you very much for taking the time to review it. > Thanks, > > Ray