mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 00:22:00 +02:00
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
This commit is contained in:
commit
a7a8e7996c
|
|
@ -5249,6 +5249,7 @@ const struct pci_reset_fn_method pci_reset_fn_methods[] = {
|
|||
int __pci_reset_function_locked(struct pci_dev *dev)
|
||||
{
|
||||
int i, m, rc;
|
||||
const struct pci_reset_fn_method *method;
|
||||
|
||||
might_sleep();
|
||||
|
||||
|
|
@ -5265,9 +5266,13 @@ int __pci_reset_function_locked(struct pci_dev *dev)
|
|||
if (!m)
|
||||
return -ENOTTY;
|
||||
|
||||
rc = pci_reset_fn_methods[m].reset_fn(dev, PCI_RESET_DO_RESET);
|
||||
method = &pci_reset_fn_methods[m];
|
||||
pci_dbg(dev, "reset via %s\n", method->name);
|
||||
rc = method->reset_fn(dev, PCI_RESET_DO_RESET);
|
||||
if (!rc)
|
||||
return 0;
|
||||
|
||||
pci_dbg(dev, "%s failed with %d\n", method->name, rc);
|
||||
if (rc != -ENOTTY)
|
||||
return rc;
|
||||
}
|
||||
|
|
@ -5424,6 +5429,8 @@ static bool pci_bus_resettable(struct pci_bus *bus)
|
|||
return false;
|
||||
|
||||
list_for_each_entry(dev, &bus->devices, bus_list) {
|
||||
if (!pci_reset_supported(dev))
|
||||
return false;
|
||||
if (dev->dev_flags & PCI_DEV_FLAGS_NO_BUS_RESET ||
|
||||
(dev->subordinate && !pci_bus_resettable(dev->subordinate)))
|
||||
return false;
|
||||
|
|
@ -5500,6 +5507,8 @@ static bool pci_slot_resettable(struct pci_slot *slot)
|
|||
list_for_each_entry(dev, &slot->bus->devices, bus_list) {
|
||||
if (!dev->slot || dev->slot != slot)
|
||||
continue;
|
||||
if (!pci_reset_supported(dev))
|
||||
return false;
|
||||
if (dev->dev_flags & PCI_DEV_FLAGS_NO_BUS_RESET ||
|
||||
(dev->subordinate && !pci_bus_resettable(dev->subordinate)))
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user