]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: rfkill: gpio: Add check for clk_enable()
authorMingwei Zheng <zmw12306@gmail.com>
Fri, 8 Nov 2024 19:53:41 +0000 (14:53 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2024 12:53:25 +0000 (13:53 +0100)
[ Upstream commit 8251e7621b25ccdb689f1dd9553b8789e3745ea1 ]

Add check for the return value of clk_enable() to catch the potential
error.

Fixes: 7176ba23f8b5 ("net: rfkill: add generic gpio rfkill driver")
Signed-off-by: Mingwei Zheng <zmw12306@gmail.com>
Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com>
Link: https://patch.msgid.link/20241108195341.1853080-1-zmw12306@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/rfkill/rfkill-gpio.c

index 84529886c2e66052549edf5f1889e9e064e2338d..bfd5ff967e90389462b529e2ff9b295f9bb9dffd 100644 (file)
@@ -31,8 +31,12 @@ static int rfkill_gpio_set_power(void *data, bool blocked)
 {
        struct rfkill_gpio_data *rfkill = data;
 
-       if (!blocked && !IS_ERR(rfkill->clk) && !rfkill->clk_enabled)
-               clk_enable(rfkill->clk);
+       if (!blocked && !IS_ERR(rfkill->clk) && !rfkill->clk_enabled) {
+               int ret = clk_enable(rfkill->clk);
+
+               if (ret)
+                       return ret;
+       }
 
        gpiod_set_value_cansleep(rfkill->shutdown_gpio, !blocked);
        gpiod_set_value_cansleep(rfkill->reset_gpio, !blocked);