PCI: Simplify pci_dev_reset_slot_function()
authorLukas Wunner <lukas@wunner.de>
Tue, 21 Jul 2020 11:24:51 +0000 (13:24 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 17 Sep 2020 21:25:45 +0000 (16:25 -0500)
commit10791141a6cfc96eecf578fb1240f191ac112e02
tree7cb0cef263cc4598b705088c6b3aca30da70d828
parent8c46d543aaa900942365b2b46a165fb49e939954
PCI: Simplify pci_dev_reset_slot_function()

pci_dev_reset_slot_function() refuses to reset a hotplug slot if it is
shared by multiple pci_devs.  That's the case if and only if the slot is
occupied by a multifunction device.

Simplify the function to check the device's multifunction flag instead
of iterating over the devices on the bus.  (Iterating over the devices
requires holding pci_bus_sem, which the function erroneously does not
acquire.)

Link: https://lore.kernel.org/r/c6aab5af096f7b1b3db57f6335cebba8f0fcca89.1595330431.git.lukas@wunner.de
Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Alex Williamson <alex.williamson@redhat.com>
drivers/pci/pci.c