Hi Mani, Hemant On Fri, 19 Mar 2021 at 16:42, Loic Poulain <loic.poulain@xxxxxxxxxx> wrote: > > Deinit the device on shutdown to halt MHI/PCI operation on device > side. This change fixes floating device state with some hosts that > do not fully shutdown PCIe device when rebooting. Any comments on this change? > > Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxxx> > --- > drivers/bus/mhi/pci_generic.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/bus/mhi/pci_generic.c b/drivers/bus/mhi/pci_generic.c > index cbd2224..b104ab8 100644 > --- a/drivers/bus/mhi/pci_generic.c > +++ b/drivers/bus/mhi/pci_generic.c > @@ -532,6 +532,12 @@ static void mhi_pci_remove(struct pci_dev *pdev) > mhi_unregister_controller(mhi_cntrl); > } > > +static void mhi_pci_shutdown(struct pci_dev *pdev) > +{ > + mhi_pci_remove(pdev); > + pci_set_power_state(pdev, PCI_D3hot); > +} > + > static void mhi_pci_reset_prepare(struct pci_dev *pdev) > { > struct mhi_pci_device *mhi_pdev = pci_get_drvdata(pdev); > @@ -704,6 +710,7 @@ static struct pci_driver mhi_pci_driver = { > .id_table = mhi_pci_id_table, > .probe = mhi_pci_probe, > .remove = mhi_pci_remove, > + .shutdown = mhi_pci_shutdown, > .err_handler = &mhi_pci_err_handler, > .driver.pm = &mhi_pci_pm_ops > }; > -- > 2.7.4 >