]> git.baikalelectronics.ru Git - kernel.git/commitdiff
wifi: rtw88: mac: Return the original error from rtw_mac_power_switch()
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Sun, 26 Feb 2023 22:10:04 +0000 (23:10 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 May 2023 09:35:41 +0000 (11:35 +0200)
[ Upstream commit 15c8e267dfa62f207ee1db666c822324e3362b84 ]

rtw_mac_power_switch() calls rtw_pwr_seq_parser() which can return
-EINVAL, -EBUSY or 0. Propagate the original error code instead of
unconditionally returning -EINVAL in case of an error.

Fixes: 6e4bd67d96b4 ("rtw88: new Realtek 802.11ac driver")
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230226221004.138331-3-martin.blumenstingl@googlemail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/realtek/rtw88/mac.c

index 9a50984fa06c9acdde3c5b69e03de35a83058849..94e69e97d5f5f3a77e045589b70b281050929ed1 100644 (file)
@@ -224,6 +224,7 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
        struct rtw_pwr_seq_cmd **pwr_seq;
        u8 rpwm;
        bool cur_pwr;
+       int ret;
 
        rpwm = rtw_read8(rtwdev, rtwdev->hci.rpwm_addr);
 
@@ -245,8 +246,9 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
                return -EALREADY;
 
        pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq;
-       if (rtw_pwr_seq_parser(rtwdev, pwr_seq))
-               return -EINVAL;
+       ret = rtw_pwr_seq_parser(rtwdev, pwr_seq);
+       if (ret)
+               return ret;
 
        return 0;
 }