Re: [bug report] ASoC: starfive: Add JH7110 TDM driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2023/6/6 16:27, Dan Carpenter wrote:
> Hello Walker Chen,
> 
> The patch fd4762b6b5cf: "ASoC: starfive: Add JH7110 TDM driver" from
> May 26, 2023, leads to the following Smatch static checker warning:
> 
> 	sound/soc/starfive/jh7110_tdm.c:584 jh7110_tdm_clk_reset_get()
> 	warn: passing zero to 'PTR_ERR'
> 
> sound/soc/starfive/jh7110_tdm.c
>     564 static int jh7110_tdm_clk_reset_get(struct platform_device *pdev,
>     565                                     struct jh7110_tdm_dev *tdm)
>     566 {
>     567         int ret;
>     568 
>     569         tdm->clks[0].id = "mclk_inner";
>     570         tdm->clks[1].id = "tdm_ahb";
>     571         tdm->clks[2].id = "tdm_apb";
>     572         tdm->clks[3].id = "tdm_internal";
>     573         tdm->clks[4].id = "tdm_ext";
>     574         tdm->clks[5].id = "tdm";
>     575 
>     576         ret = devm_clk_bulk_get(&pdev->dev, ARRAY_SIZE(tdm->clks), tdm->clks);
>     577         if (ret) {
>     578                 dev_err(&pdev->dev, "Failed to get tdm clocks\n");
>     579                 return ret;
>     580         }
>     581 
>     582         tdm->resets = devm_reset_control_array_get_exclusive(&pdev->dev);
> 
> The devm_reset_control_array_get() function returns NULL if it's
> an optional request.  But this is not optional.
> 
>     583         if (IS_ERR_OR_NULL(tdm->resets)) {
> 
> So that means this should be an if (IS_ERR()) check.
> 
> --> 584                 ret = PTR_ERR(tdm->resets);
>     585                 dev_err(&pdev->dev, "Failed to get tdm resets");
> 
> Or if optional was intended then NULL should not be treated as an error
> case, but as a special kind of success case (no error message).  See
> my blog for a long form of this information:
> 
> https://staticthinking.wordpress.com/2022/08/01/mixing-error-pointers-and-null/
> 

Hi Dan,

Thanks for your testing.
Yes, should use IS_ERR() to check. I am preparing to submit a patch to fix this issue.

Best regards,
Walker



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux