2022-09-01 07:58:50

by Jiasheng Jiang

[permalink] [raw]
Subject: [PATCH] ASoC: rsnd: Add check for rsnd_mod_power_on

As rsnd_mod_power_on() can return negative numbers,
it should be better to check the return value and
deal with the exception.

Fixes: e7d850dd10f4 ("ASoC: rsnd: use mod base common method on SSI-parent")
Signed-off-by: Jiasheng Jiang <[email protected]>
---
sound/soc/sh/rcar/ssi.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c
index 43c5e27dc5c8..7ade6c5ed96f 100644
--- a/sound/soc/sh/rcar/ssi.c
+++ b/sound/soc/sh/rcar/ssi.c
@@ -480,7 +480,9 @@ static int rsnd_ssi_init(struct rsnd_mod *mod,

ssi->usrcnt++;

- rsnd_mod_power_on(mod);
+ ret = rsnd_mod_power_on(mod);
+ if (ret < 0)
+ return ret;

rsnd_ssi_config_init(mod, io);

--
2.25.1


2022-09-01 23:44:32

by Kuninori Morimoto

[permalink] [raw]
Subject: Re: [PATCH] ASoC: rsnd: Add check for rsnd_mod_power_on


Hi

> As rsnd_mod_power_on() can return negative numbers,
> it should be better to check the return value and
> deal with the exception.
>
> Fixes: e7d850dd10f4 ("ASoC: rsnd: use mod base common method on SSI-parent")
> Signed-off-by: Jiasheng Jiang <[email protected]>
> ---
(snip)
> --- a/sound/soc/sh/rcar/ssi.c
> +++ b/sound/soc/sh/rcar/ssi.c
> @@ -480,7 +480,9 @@ static int rsnd_ssi_init(struct rsnd_mod *mod,
>
> ssi->usrcnt++;
>
> - rsnd_mod_power_on(mod);
> + ret = rsnd_mod_power_on(mod);
> + if (ret < 0)
> + return ret;

This looks good to me, but, the code which is using rsnd_mod_power_on()
and not checking the return value is not only ssi.c.

> grep rsnd_mod_power_on ./sound/soc/sh/rcar/*.c [~/Mail/tmp]
sound/soc/sh/rcar/ctu.c: rsnd_mod_power_on(mod);
sound/soc/sh/rcar/dvc.c: rsnd_mod_power_on(mod);
sound/soc/sh/rcar/mix.c: rsnd_mod_power_on(mod);
sound/soc/sh/rcar/src.c: rsnd_mod_power_on(mod);
sound/soc/sh/rcar/ssi.c: rsnd_mod_power_on(mod);

Thank you for your help !!

Best regards
---
Kuninori Morimoto