Skip to content

Commit a18a025

Browse files
Naveenaidubjorn-helgaas
authored andcommitted
PCI: cpqphp: Use PCI_POSSIBLE_ERROR() to check config reads
When config pci_ops.read() can detect failed PCI transactions, the data returned to the CPU is PCI_ERROR_RESPONSE (~0 or 0xffffffff). Obviously a successful PCI config read may *also* return that data if a config register happens to contain ~0, so it doesn't definitively indicate an error unless we know the register cannot contain ~0. Use PCI_POSSIBLE_ERROR() to check the response we get when we read data from hardware. This unifies PCI error response checking and makes error checks consistent and easier to find. Link: https://lore.kernel.org/r/b12005c0d57bb9d4c8b486724d078b7bd92f8321.1637243717.git.naveennaidu479@gmail.com Signed-off-by: Naveen Naidu <[email protected]> Signed-off-by: Bjorn Helgaas <[email protected]>
1 parent aa66ea1 commit a18a025

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

drivers/pci/hotplug/cpqphp_ctrl.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2273,7 +2273,7 @@ static u32 configure_new_device(struct controller *ctrl, struct pci_func *func
22732273
while ((function < max_functions) && (!stop_it)) {
22742274
pci_bus_read_config_dword(ctrl->pci_bus, PCI_DEVFN(func->device, function), 0x00, &ID);
22752275

2276-
if (ID == 0xFFFFFFFF) {
2276+
if (PCI_POSSIBLE_ERROR(ID)) {
22772277
function++;
22782278
} else {
22792279
/* Setup slot structure. */
@@ -2517,7 +2517,7 @@ static int configure_new_function(struct controller *ctrl, struct pci_func *func
25172517
pci_bus_read_config_dword(pci_bus, PCI_DEVFN(device, 0), 0x00, &ID);
25182518
pci_bus->number = func->bus;
25192519

2520-
if (ID != 0xFFFFFFFF) { /* device present */
2520+
if (!PCI_POSSIBLE_ERROR(ID)) { /* device present */
25212521
/* Setup slot structure. */
25222522
new_slot = cpqhp_slot_create(hold_bus_node->base);
25232523

0 commit comments

Comments
 (0)