diff mbox series

ASoC: wm8962: potential use of error pointer

Message ID 20211217031333.493777-1-jiasheng@iscas.ac.cn (mailing list archive)
State New, archived
Headers show
Series ASoC: wm8962: potential use of error pointer | expand

Commit Message

Jiasheng Jiang Dec. 17, 2021, 3:13 a.m. UTC
The return value of devm_clk_get() needs to be checked.
To avoid use of error pointer in case of the failure of alloc.

Fixes: d74e9e7090ae ("ASoC: wm8962: Add device tree binding")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
---
 sound/soc/codecs/wm8962.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Cezary Rojewski Dec. 17, 2021, 9:42 a.m. UTC | #1
On 2021-12-17 4:13 AM, Jiasheng Jiang wrote:
> The return value of devm_clk_get() needs to be checked.
> To avoid use of error pointer in case of the failure of alloc.
> 
> Fixes: d74e9e7090ae ("ASoC: wm8962: Add device tree binding")
> Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
> ---
>   sound/soc/codecs/wm8962.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
> index 34080f497584..66693bf17763 100644
> --- a/sound/soc/codecs/wm8962.c
> +++ b/sound/soc/codecs/wm8962.c
> @@ -3540,6 +3540,8 @@ static int wm8962_set_pdata_from_of(struct i2c_client *i2c,
>   		}
>   
>   	pdata->mclk = devm_clk_get(&i2c->dev, NULL);
> +	if (IS_ERR(pdata->mclk))
> +		return -ENOMEM;
>   
>   	return 0;
>   }
> 

Correct me if I'm wrong, but -ENOMEM is not the only error code that 
could get returned by clk_get() (which is internally called by 
devm_clk_get()). Is there a specific reason for ignoring the return value?


Regards,
Czarek
Charles Keepax Dec. 17, 2021, 9:46 a.m. UTC | #2
On Fri, Dec 17, 2021 at 11:13:33AM +0800, Jiasheng Jiang wrote:
> The return value of devm_clk_get() needs to be checked.
> To avoid use of error pointer in case of the failure of alloc.
> 
> Fixes: d74e9e7090ae ("ASoC: wm8962: Add device tree binding")
> Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
> ---
>  sound/soc/codecs/wm8962.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
> index 34080f497584..66693bf17763 100644
> --- a/sound/soc/codecs/wm8962.c
> +++ b/sound/soc/codecs/wm8962.c
> @@ -3540,6 +3540,8 @@ static int wm8962_set_pdata_from_of(struct i2c_client *i2c,
>  		}
>  
>  	pdata->mclk = devm_clk_get(&i2c->dev, NULL);
> +	if (IS_ERR(pdata->mclk))
> +		return -ENOMEM;

The value was checked later, so the code was mostly fine and what
bugs there were have already been fixed:

044c11401443 ("ASoC: wm8962: Convert to devm_clk_get_optional")

Thanks,
Charles
diff mbox series

Patch

diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index 34080f497584..66693bf17763 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -3540,6 +3540,8 @@  static int wm8962_set_pdata_from_of(struct i2c_client *i2c,
 		}
 
 	pdata->mclk = devm_clk_get(&i2c->dev, NULL);
+	if (IS_ERR(pdata->mclk))
+		return -ENOMEM;
 
 	return 0;
 }