On Thu, Aug 20, 2020 at 03:48:23PM +0200, Greg Kroah-Hartman wrote: > On Thu, Aug 20, 2020 at 09:29:24AM -0400, Sasha Levin wrote: > > On Thu, Aug 20, 2020 at 01:00:51PM +0000, Michael Kelley wrote: > > > 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. > > > > Uh, I re-added it by mistake, sorry. > > Ok, let me go drop it... Oops, you already did :)