• A
    PCI: Fix "try" semantics of bus and slot reset · 97ef3728
    Alex Williamson 提交于
    commit ddefc033eecf23f1e8b81d0663c5db965adf5516 upstream
    
    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: NAlex Williamson <alex.williamson@redhat.com>
    Signed-off-by: NZhiyuan Hou <zhiyuan2048@linux.alibaba.com>
    Acked-by: NCaspar Zhang <caspar@linux.alibaba.com>
    97ef3728
pci.c 162.3 KB