[PATCH 0/3] PCI: hv: clean-up and 2 fixes to the hot-remove case

From: Dexuan Cui
Date: Thu Nov 10 2016 - 02:32:07 EST


PATCH 1 is just a clean-up. There should be no functional change.

PATCH 2 and 3 are for device hot-remove case.
Currently the driver will stop working or even cause panic, if we do
hot add/remove quickly a few times. With the 2 patches, everything works
reliably in my tests now.

There can be still a potential issue with hot-remove when we unload
the driver at the same time. That would require more work of proper
synchronization among the 3 paths: the .probe/.remove, the channel callback,
and the offloaded hv_pci_devices_present()/hv_eject_device_work().

But for now, PATCH 2 and 3 do improve the situation a lot.

Dexuan Cui (3):
PCI: hv: use the correct buffer size in new_pcichild_device()
PCI: hv: fix hv_pci_remove() for hot-remove
PCI: hv: delete the device earlier from hbus->children for hot-remove

drivers/pci/host/pci-hyperv.c | 67 ++++++++++++++++++++++++++-----------------
1 file changed, 40 insertions(+), 27 deletions(-)

--
2.7.4