• Alex Williamson's avatar
    PCI: Fix "try" semantics of bus and slot reset · ddefc033
    Alex Williamson authored
    The commit referenced below introduced device locking around save and
    restore of state for each device during a PCI bus "try" reset, making it
    decidely non-"try" and prone to deadlock in the event that a device is
    already locked.  Restore __pci_reset_bus() and __pci_reset_slot() to their
    advertised locking semantics by pushing the save and restore functions into
    the branch where the entire tree is already locked.  Extend the helper
    function names with "_locked" and update the comment to reflect this
    calling requirement.
    
    Fixes: b014e96d ("PCI: Protect pci_error_handlers->reset_notify() usage with device_lock()")
    Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: default avatarSinan Kaya <okaya@kernel.org>
    ddefc033
pci.c 163 KB