On Sun, Apr 26, 2020 at 09:24:30PM +0800, Wei Hu wrote: > In the case of kdump, the PCI device was not cleanly shut down > before the kdump kernel starts. This causes the initial > attempt of entering D0 state in the kdump kernel to fail with > invalid device state 0xC0000184 returned from Hyper-V host. > When this happens, explicitly call PCI bus exit and retry to > enter the D0 state. > > Also fix the PCI probe failure path to release the PCI device > resource properly. > > Signed-off-by: Wei Hu <weh@xxxxxxxxxxxxx> > --- > drivers/pci/controller/pci-hyperv.c | 34 ++++++++++++++++++++++++++++- > 1 file changed, 33 insertions(+), 1 deletion(-) > > diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c > index e15022ff63e3..eb4781fa058d 100644 > --- a/drivers/pci/controller/pci-hyperv.c > +++ b/drivers/pci/controller/pci-hyperv.c > @@ -2736,6 +2736,10 @@ static void hv_free_config_window(struct hv_pcibus_device *hbus) > vmbus_free_mmio(hbus->mem_config->start, PCI_CONFIG_MMIO_LENGTH); > } > > +#define STATUS_INVALID_DEVICE_STATE 0xC0000184 > + Can you please move this along side STATUS_REVISION_MISMATCH? Wei.