PCI: hv: Properly handle PCI bus remove
authorLong Li <longli@microsoft.com>
Thu, 23 Mar 2017 21:58:10 +0000 (14:58 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 24 Mar 2017 14:50:25 +0000 (09:50 -0500)
commitd3a78d8bf759d8848339dcc367c4c1678b57a08b
treed2fa946c39abdfdd6c78e068f44ec3892a9c0de8
parentc1ae3cfa0e89fa1a7ecc4c99031f5e9ae99d9201
PCI: hv: Properly handle PCI bus remove

hv_pci_devices_present() is called in hv_pci_remove() when we remove a PCI
device from the host, e.g., by disabling SR-IOV on a device.  In
hv_pci_remove(), the bus is already removed before the call, so we don't
need to rescan the bus in the workqueue scheduled from
hv_pci_devices_present().

By introducing bus state hv_pcibus_removed, we can avoid this situation.

Reported-by: Xiaofeng Wang <xiaofwan@redhat.com>
Signed-off-by: Long Li <longli@microsoft.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: K. Y. Srinivasan <kys@microsoft.com>
drivers/pci/host/pci-hyperv.c