]> Git Repo - linux.git/commit
PCI: hv: Fix a timing issue which causes kdump to fail occasionally
authorWei Hu <[email protected]>
Mon, 27 Jul 2020 07:17:31 +0000 (15:17 +0800)
committerLorenzo Pieralisi <[email protected]>
Mon, 27 Jul 2020 11:10:16 +0000 (12:10 +0100)
commitd6af2ed29c7c1c311b96dac989dcb991e90ee195
tree2d2bd2aa86b746c90a30bcae85c6622f93c6d5a9
parentb3a9e3b9622ae10064826dccb4f7a52bd88c7407
PCI: hv: Fix a timing issue which causes kdump to fail occasionally

Kdump could fail sometime on Hyper-V guest because the retry in
hv_pci_enter_d0() releases child device structures in hv_pci_bus_exit().

Although there is a second asynchronous device relations message sending
from the host, if this message arrives to the guest after
hv_send_resource_allocated() is called, the retry would fail.

Fix the problem by moving retry to hv_pci_probe() and start the retry
from hv_pci_query_relations() call.  This will cause a device relations
message to arrive to the guest synchronously; the guest would then be
able to rebuild the child device structures before calling
hv_send_resource_allocated().

Link: https://lore.kernel.org/r/[email protected]
Fixes: c81992e7f4aa ("PCI: hv: Retry PCI bus D0 entry on invalid device state")
Signed-off-by: Wei Hu <[email protected]>
[[email protected]: fixed a comment and commit log]
Signed-off-by: Lorenzo Pieralisi <[email protected]>
Reviewed-by: Michael Kelley <[email protected]>
drivers/pci/controller/pci-hyperv.c
This page took 0.059172 seconds and 4 git commands to generate.