Skip to content

Commit 316df70

Browse files
Naveenaidubjorn-helgaas
authored andcommitted
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 <[email protected]> Signed-off-by: Bjorn Helgaas <[email protected]> Reviewed-by: Rob Herring <[email protected]>
1 parent 9bc9310 commit 316df70

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

drivers/pci/access.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,8 @@ int pci_generic_config_read(struct pci_bus *bus, unsigned int devfn,
8383
void __iomem *addr;
8484

8585
addr = bus->ops->map_bus(bus, devfn, where);
86-
if (!addr) {
87-
*val = ~0;
86+
if (!addr)
8887
return PCIBIOS_DEVICE_NOT_FOUND;
89-
}
9088

9189
if (size == 1)
9290
*val = readb(addr);
@@ -125,10 +123,8 @@ int pci_generic_config_read32(struct pci_bus *bus, unsigned int devfn,
125123
void __iomem *addr;
126124

127125
addr = bus->ops->map_bus(bus, devfn, where & ~0x3);
128-
if (!addr) {
129-
*val = ~0;
126+
if (!addr)
130127
return PCIBIOS_DEVICE_NOT_FOUND;
131-
}
132128

133129
*val = readl(addr);
134130

0 commit comments

Comments
 (0)