On Fri, Jun 11, 2021 at 11:03:50PM +0200, Christophe JAILLET wrote: > If an error occurs after a 'pci_enable_pcie_error_reporting()' call, it > must be undone by a corresponding 'pci_disable_pcie_error_reporting()' > call > > Add the missing call in the error handling path of the probe and in the > remove function. > > Fixes: b012ee6bfe2a ("mhi: pci_generic: Add PCI error handlers") > Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx> Cced stable and applied to mhi-next! Thanks, Mani > --- > drivers/bus/mhi/pci_generic.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/bus/mhi/pci_generic.c b/drivers/bus/mhi/pci_generic.c > index 7c810f02a2ef..d84b74396c6a 100644 > --- a/drivers/bus/mhi/pci_generic.c > +++ b/drivers/bus/mhi/pci_generic.c > @@ -665,7 +665,7 @@ static int mhi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) > > err = mhi_register_controller(mhi_cntrl, mhi_cntrl_config); > if (err) > - return err; > + goto err_disable_reporting; > > /* MHI bus does not power up the controller by default */ > err = mhi_prepare_for_power_up(mhi_cntrl); > @@ -699,6 +699,8 @@ static int mhi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) > mhi_unprepare_after_power_down(mhi_cntrl); > err_unregister: > mhi_unregister_controller(mhi_cntrl); > +err_disable_reporting: > + pci_disable_pcie_error_reporting(pdev); > > return err; > } > @@ -721,6 +723,7 @@ static void mhi_pci_remove(struct pci_dev *pdev) > pm_runtime_get_noresume(&pdev->dev); > > mhi_unregister_controller(mhi_cntrl); > + pci_disable_pcie_error_reporting(pdev); > } > > static void mhi_pci_shutdown(struct pci_dev *pdev) > -- > 2.30.2 >