[PATCH] pwm: meson: Stop premature exit from for loop
Neil Armstrong
neil.armstrong at linaro.org
Thu Sep 4 10:24:30 CEST 2025
On 08/08/2025 11:34, Andrew Goodbody wrote:
> In meson_pwm_probe the for loop attempts to get the name of a clock but
> the following if..else statements only perform useful work if -ENODATA
> is returned from clk_get_by_name. If clk_get_by_name simply succeeds
> then this results in a premature exit from the for loop and the
> following code can never be reached. Make the else clause only apply for
> an error return from clk_get_by_name.
>
> This issue was found by Smatch.
>
> Signed-off-by: Andrew Goodbody <andrew.goodbody at linaro.org>
> ---
> drivers/pwm/pwm-meson.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pwm/pwm-meson.c b/drivers/pwm/pwm-meson.c
> index c2597d8b669..caa7af085fa 100644
> --- a/drivers/pwm/pwm-meson.c
> +++ b/drivers/pwm/pwm-meson.c
> @@ -359,8 +359,9 @@ static int meson_pwm_probe(struct udevice *dev)
>
> /* We have our source clock, do not alter HW clock mux */
> continue;
> - } else
> + } else if (err) {
> return err;
> + }
>
> /* Get id in list */
> for (p = 0 ; p < data->num_parents ; ++p) {
>
> ---
> base-commit: 123cd77122a13288e1552b5d9b7c22a6f19e2e02
> change-id: 20250808-pwm_meson-65549e7d24ab
>
> Best regards,
Reviewed-by: Neil Armstrong <neil.armstrong at linaro.org>
More information about the U-Boot
mailing list