Re: [PATCH v2] net: rfkill: gpio: Add check for clk_enable()

From: Johannes Berg
Date: Fri Nov 08 2024 - 02:48:20 EST


On Thu, 2024-11-07 at 17:20 -0500, Mingwei Zheng wrote:
> Add check for the return value of clk_enable() to catch the potential
> error.

Wait ... is someone running an experiment again? ;-)
>
> diff --git a/net/rfkill/rfkill-gpio.c b/net/rfkill/rfkill-gpio.c
> index c268c2b011f4..a87bb99231a6 100644
> --- a/net/rfkill/rfkill-gpio.c
> +++ b/net/rfkill/rfkill-gpio.c
> @@ -31,9 +31,13 @@ struct rfkill_gpio_data {
> static int rfkill_gpio_set_power(void *data, bool blocked)
> {
> struct rfkill_gpio_data *rfkill = data;
> + int ret;

You could move that into the if.

> - if (!blocked && !IS_ERR(rfkill->clk) && !rfkill->clk_enabled)
> - clk_enable(rfkill->clk);
> + if (!blocked && !IS_ERR(rfkill->clk) && !rfkill->clk_enabled) {
> + ret = clk_enable(rfkill->clk);
> + if (!ret)
> + return ret;
> + }
>

but this is obviously wrong anyway.

johannes