Skip to content

Commit a7a8e79

Browse files
committed
Merge branch 'pci/reset'
- Log debug messages about reset methods being used (Bjorn Helgaas) - Avoid reset when it has been disabled via sysfs (Nishanth Aravamudan) * pci/reset: PCI: Avoid reset when disabled via sysfs PCI: Log debug messages about reset method
2 parents 55d25a1 + 479380e commit a7a8e79

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

drivers/pci/pci.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5249,6 +5249,7 @@ const struct pci_reset_fn_method pci_reset_fn_methods[] = {
52495249
int __pci_reset_function_locked(struct pci_dev *dev)
52505250
{
52515251
int i, m, rc;
5252+
const struct pci_reset_fn_method *method;
52525253

52535254
might_sleep();
52545255

@@ -5265,9 +5266,13 @@ int __pci_reset_function_locked(struct pci_dev *dev)
52655266
if (!m)
52665267
return -ENOTTY;
52675268

5268-
rc = pci_reset_fn_methods[m].reset_fn(dev, PCI_RESET_DO_RESET);
5269+
method = &pci_reset_fn_methods[m];
5270+
pci_dbg(dev, "reset via %s\n", method->name);
5271+
rc = method->reset_fn(dev, PCI_RESET_DO_RESET);
52695272
if (!rc)
52705273
return 0;
5274+
5275+
pci_dbg(dev, "%s failed with %d\n", method->name, rc);
52715276
if (rc != -ENOTTY)
52725277
return rc;
52735278
}
@@ -5424,6 +5429,8 @@ static bool pci_bus_resettable(struct pci_bus *bus)
54245429
return false;
54255430

54265431
list_for_each_entry(dev, &bus->devices, bus_list) {
5432+
if (!pci_reset_supported(dev))
5433+
return false;
54275434
if (dev->dev_flags & PCI_DEV_FLAGS_NO_BUS_RESET ||
54285435
(dev->subordinate && !pci_bus_resettable(dev->subordinate)))
54295436
return false;
@@ -5500,6 +5507,8 @@ static bool pci_slot_resettable(struct pci_slot *slot)
55005507
list_for_each_entry(dev, &slot->bus->devices, bus_list) {
55015508
if (!dev->slot || dev->slot != slot)
55025509
continue;
5510+
if (!pci_reset_supported(dev))
5511+
return false;
55035512
if (dev->dev_flags & PCI_DEV_FLAGS_NO_BUS_RESET ||
55045513
(dev->subordinate && !pci_bus_resettable(dev->subordinate)))
55055514
return false;

0 commit comments

Comments
 (0)