RE: [PATCH 5.8 164/232] PCI: hv: Fix a timing issue which causes kdump to fail occasionally

From: Michael Kelley
Date: Thu Aug 20 2020 - 09:01:20 EST


From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Sent: Thursday, August 20, 2020 2:20 AM
>
> From: Wei Hu <weh@xxxxxxxxxxxxx>
>
> [ Upstream commit d6af2ed29c7c1c311b96dac989dcb991e90ee195 ]
>
> 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/linux-hyperv/20200727071731.18516-1-weh@xxxxxxxxxxxxx/
> Fixes: c81992e7f4aa ("PCI: hv: Retry PCI bus D0 entry on invalid device state")
> Signed-off-by: Wei Hu <weh@xxxxxxxxxxxxx>
> [lorenzo.pieralisi@xxxxxxx: fixed a comment and commit log]
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx>
> Reviewed-by: Michael Kelley <mikelley@xxxxxxxxxxxxx>
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> ---
> drivers/pci/controller/pci-hyperv.c | 71 +++++++++++++++--------------
> 1 file changed, 37 insertions(+), 34 deletions(-)
>

This patch came through three days ago, and I indicated then that we don't want
it backported to 5.8 and earlier.

Michael