RE: [PATCH 2/2] pci-hyperv: properly handle device eject

From: Dexuan Cui
Date: Wed Sep 14 2016 - 02:00:30 EST


> From: Long Li
> Sent: Wednesday, September 14, 2016 1:41
>
> I think this code is safe here. If we reach the code
> pci_stop_and_remove_bus_device_locked, create_root_hv_pci_bus() is already
> called.

When hv_pci_probe() -> create_root_hv_pci_bus() -> pci_scan_child_bus() is running
on one cpu, I think nothing in the current code can prevent
hv_eject_device_work() -> pci_stop_and_remove_bus_device_locked()
from running on another cpu?

The race window is pretty small however.

Thanks,
-- Dexuan