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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Sep 2023 07:42:31 +0000 (09:42 +0200)
[ Upstream commit 59b4cc439f184c5eaa34161ec67af1e16ffabed4 ]

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
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/realtek/rtw89/debug.c

index ec0af90..3a8fe60 100644 (file)
@@ -2302,12 +2302,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;
 }