OSDN Git Service

wifi: rtw89: debug: Fix error handling in rtw89_debug_priv_btc_manual_set()
authorZhang Shurong <zhang_shurong@foxmail.com>
Sat, 15 Jul 2023 13:42:57 +0000 (21:42 +0800)
committerKalle Valo <kvalo@kernel.org>
Tue, 25 Jul 2023 14:44:18 +0000 (17:44 +0300)
If there is a failure during kstrtobool_from_user()
rtw89_debug_priv_btc_manual_set should return a negative error code
instead of returning the count directly.

Fix this bug by returning an error code instead of a count after
a failed call of the function "kstrtobool_from_user". Moreover
I omitted the label "out" with this source code correction.

Fixes: e3ec7017f6a2 ("rtw89: add Realtek 802.11ax driver")
Signed-off-by: Zhang Shurong <zhang_shurong@foxmail.com>
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/tencent_1C09B99BD7DA9CAD18B00C8F0F050F540607@qq.com
drivers/net/wireless/realtek/rtw89/debug.c

index a4bbac9..ce5a9ac 100644 (file)
@@ -3193,12 +3193,14 @@ static ssize_t rtw89_debug_priv_btc_manual_set(struct file *filp,
        struct rtw89_dev *rtwdev = debugfs_priv->rtwdev;
        struct rtw89_btc *btc = &rtwdev->btc;
        bool btc_manual;
+       int ret;
 
-       if (kstrtobool_from_user(user_buf, count, &btc_manual))
-               goto out;
+       ret = kstrtobool_from_user(user_buf, count, &btc_manual);
+       if (ret)
+               return ret;
 
        btc->ctrl.manual = btc_manual;
-out:
+
        return count;
 }