2020-05-20 03:25:28

by Fabio Estevam

[permalink] [raw]
Subject: [PATCH] mailbox: imx: Disable the clock on devm_mbox_controller_register() failure

devm_mbox_controller_register() may fail, and in the case of failure the
priv->clk clock that was previously enabled, should be disabled.

Fixes: 2bb7005696e2 ("mailbox: Add support for i.MX messaging unit")
Signed-off-by: Fabio Estevam <[email protected]>
---
drivers/mailbox/imx-mailbox.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/mailbox/imx-mailbox.c b/drivers/mailbox/imx-mailbox.c
index 7906624a731c..3f7c4548c18f 100644
--- a/drivers/mailbox/imx-mailbox.c
+++ b/drivers/mailbox/imx-mailbox.c
@@ -508,7 +508,13 @@ static int imx_mu_probe(struct platform_device *pdev)

platform_set_drvdata(pdev, priv);

- return devm_mbox_controller_register(dev, &priv->mbox);
+ ret = devm_mbox_controller_register(dev, &priv->mbox);
+ if (ret) {
+ clk_disable_unprepare(priv->clk);
+ return ret;
+ }
+
+ return 0;
}

static int imx_mu_remove(struct platform_device *pdev)
--
2.17.1


2020-05-20 03:29:44

by Peng Fan

[permalink] [raw]
Subject: RE: [PATCH] mailbox: imx: Disable the clock on devm_mbox_controller_register() failure

> Subject: [PATCH] mailbox: imx: Disable the clock on
> devm_mbox_controller_register() failure
>
> devm_mbox_controller_register() may fail, and in the case of failure the
> priv->clk clock that was previously enabled, should be disabled.
>
> Fixes: 2bb7005696e2 ("mailbox: Add support for i.MX messaging unit")
> Signed-off-by: Fabio Estevam <[email protected]>

Reviewed-by: Peng Fan <[email protected]>

> ---
> drivers/mailbox/imx-mailbox.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mailbox/imx-mailbox.c b/drivers/mailbox/imx-mailbox.c
> index 7906624a731c..3f7c4548c18f 100644
> --- a/drivers/mailbox/imx-mailbox.c
> +++ b/drivers/mailbox/imx-mailbox.c
> @@ -508,7 +508,13 @@ static int imx_mu_probe(struct platform_device
> *pdev)
>
> platform_set_drvdata(pdev, priv);
>
> - return devm_mbox_controller_register(dev, &priv->mbox);
> + ret = devm_mbox_controller_register(dev, &priv->mbox);
> + if (ret) {
> + clk_disable_unprepare(priv->clk);
> + return ret;
> + }
> +
> + return 0;
> }
>
> static int imx_mu_remove(struct platform_device *pdev)
> --
> 2.17.1

2020-05-20 04:55:53

by Oleksij Rempel

[permalink] [raw]
Subject: Re: [PATCH] mailbox: imx: Disable the clock on devm_mbox_controller_register() failure

On Wed, May 20, 2020 at 12:22:46AM -0300, Fabio Estevam wrote:
> devm_mbox_controller_register() may fail, and in the case of failure the
> priv->clk clock that was previously enabled, should be disabled.
>
> Fixes: 2bb7005696e2 ("mailbox: Add support for i.MX messaging unit")
> Signed-off-by: Fabio Estevam <[email protected]>

Acked-by: Oleksij Rempel <[email protected]>

> ---
> drivers/mailbox/imx-mailbox.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mailbox/imx-mailbox.c b/drivers/mailbox/imx-mailbox.c
> index 7906624a731c..3f7c4548c18f 100644
> --- a/drivers/mailbox/imx-mailbox.c
> +++ b/drivers/mailbox/imx-mailbox.c
> @@ -508,7 +508,13 @@ static int imx_mu_probe(struct platform_device *pdev)
>
> platform_set_drvdata(pdev, priv);
>
> - return devm_mbox_controller_register(dev, &priv->mbox);
> + ret = devm_mbox_controller_register(dev, &priv->mbox);
> + if (ret) {
> + clk_disable_unprepare(priv->clk);
> + return ret;
> + }
> +
> + return 0;
> }
>
> static int imx_mu_remove(struct platform_device *pdev)
> --
> 2.17.1
>
>

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |


Attachments:
(No filename) (1.42 kB)
signature.asc (849.00 B)
Download all attachments