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

Reply via email to