PCI: Drop error data fabrication when config read fails
If config pci_ops.read() methods return failure, the PCI_OP_READ() and PCI_USER_READ_CONFIG() wrappers use PCI_SET_ERROR_RESPONSE() to set the data value, so there's no need to set it in the pci_ops.read() methods themselves. Drop the unnecessary data value fabrication when pci_ops.read() fails. Link: https://lore.kernel.org/r/1b2edb060cf19b45f70645b331e6c08c9ba798c0.1637243717.git.naveennaidu479@gmail.com Signed-off-by: Naveen Naidu <naveennaidu479@gmail.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Rob Herring <robh@kernel.org>
This commit is contained in:
parent
9bc9310c8f
commit
316df7062a
@ -83,10 +83,8 @@ int pci_generic_config_read(struct pci_bus *bus, unsigned int devfn,
|
||||
void __iomem *addr;
|
||||
|
||||
addr = bus->ops->map_bus(bus, devfn, where);
|
||||
if (!addr) {
|
||||
*val = ~0;
|
||||
if (!addr)
|
||||
return PCIBIOS_DEVICE_NOT_FOUND;
|
||||
}
|
||||
|
||||
if (size == 1)
|
||||
*val = readb(addr);
|
||||
@ -125,10 +123,8 @@ int pci_generic_config_read32(struct pci_bus *bus, unsigned int devfn,
|
||||
void __iomem *addr;
|
||||
|
||||
addr = bus->ops->map_bus(bus, devfn, where & ~0x3);
|
||||
if (!addr) {
|
||||
*val = ~0;
|
||||
if (!addr)
|
||||
return PCIBIOS_DEVICE_NOT_FOUND;
|
||||
}
|
||||
|
||||
*val = readl(addr);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user