Message ID | f70c14701f4922d67e717633c91b6c481b59f298.1623445348.git.christophe.jaillet@wanadoo.fr (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | bus: mhi: pci-generic: Add missing 'pci_disable_pcie_error_reporting()' calls | expand |
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@wanadoo.fr> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 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 >
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@wanadoo.fr> 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 >
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)
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@wanadoo.fr> --- drivers/bus/mhi/pci_generic.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)