diff mbox series

clk: s2mps11: Check of_clk_add_hw_provider() result

Message ID 20240401103808.617463-1-aaprelkov@usergate.com
State New
Headers show
Series clk: s2mps11: Check of_clk_add_hw_provider() result | expand

Commit Message

Aleksandr Aprelkov April 1, 2024, 10:38 a.m. UTC
There is no check if error occurs in clock provider registration.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: b228fad50c00 ("clk: s2mps11: Migrate to clk_hw based OF and registration APIs")
Signed-off-by: Aleksandr Aprelkov <aaprelkov@usergate.com>
---
 drivers/clk/clk-s2mps11.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Christophe JAILLET April 1, 2024, 12:06 p.m. UTC | #1
Le 01/04/2024 à 12:38, Aleksandr Aprelkov a écrit :
> There is no check if error occurs in clock provider registration.
> 
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
> 
> Fixes: b228fad50c00 ("clk: s2mps11: Migrate to clk_hw based OF and registration APIs")
> Signed-off-by: Aleksandr Aprelkov <aaprelkov@usergate.com>
> ---
>   drivers/clk/clk-s2mps11.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c
> index 38c456540d1b..f9ce413b6c02 100644
> --- a/drivers/clk/clk-s2mps11.c
> +++ b/drivers/clk/clk-s2mps11.c
> @@ -187,8 +187,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev)
>   	}
>   
>   	clk_data->num = S2MPS11_CLKS_NUM;
> -	of_clk_add_hw_provider(s2mps11_clks->clk_np, of_clk_hw_onecell_get,
> +	ret = of_clk_add_hw_provider(s2mps11_clks->clk_np, of_clk_hw_onecell_get,
>   			       clk_data);

Hi,

Nit: "clk_data);" is wrongly aligned now.

CJ

> +	if (ret < 0)
> +		goto err_reg;
>   
>   	platform_set_drvdata(pdev, s2mps11_clks);
>
Krzysztof Kozlowski April 1, 2024, 2:40 p.m. UTC | #2
On 01/04/2024 12:38, Aleksandr Aprelkov wrote:
> There is no check if error occurs in clock provider registration.

No, instead explain why there should be a check.

> 
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
> 
> Fixes: b228fad50c00 ("clk: s2mps11: Migrate to clk_hw based OF and registration APIs")
> Signed-off-by: Aleksandr Aprelkov <aaprelkov@usergate.com>
> ---
>  drivers/clk/clk-s2mps11.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c
> index 38c456540d1b..f9ce413b6c02 100644
> --- a/drivers/clk/clk-s2mps11.c
> +++ b/drivers/clk/clk-s2mps11.c
> @@ -187,8 +187,10 @@ static int s2mps11_clk_probe(struct platform_device *pdev)
>  	}
>  
>  	clk_data->num = S2MPS11_CLKS_NUM;
> -	of_clk_add_hw_provider(s2mps11_clks->clk_np, of_clk_hw_onecell_get,
> +	ret = of_clk_add_hw_provider(s2mps11_clks->clk_np, of_clk_hw_onecell_get,
>  			       clk_data);
> +	if (ret < 0)
> +		goto err_reg;

I really do not understand why you are doing this. This SVACE in the
past was creating really fake reports and we were complaining multiple
times that you should fix your tool.

NAK for such explanation.

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c
index 38c456540d1b..f9ce413b6c02 100644
--- a/drivers/clk/clk-s2mps11.c
+++ b/drivers/clk/clk-s2mps11.c
@@ -187,8 +187,10 @@  static int s2mps11_clk_probe(struct platform_device *pdev)
 	}
 
 	clk_data->num = S2MPS11_CLKS_NUM;
-	of_clk_add_hw_provider(s2mps11_clks->clk_np, of_clk_hw_onecell_get,
+	ret = of_clk_add_hw_provider(s2mps11_clks->clk_np, of_clk_hw_onecell_get,
 			       clk_data);
+	if (ret < 0)
+		goto err_reg;
 
 	platform_set_drvdata(pdev, s2mps11_clks);