]> git.proxmox.com Git - mirror_ubuntu-kernels.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)
committerKalle Valo <kvalo@kernel.org>
Mon, 6 Mar 2023 10:09:34 +0000 (12:09 +0200)
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: e3037485c68e ("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
drivers/net/wireless/realtek/rtw88/mac.c

index 4749d75fefee21dfe41082521c2013abe617a2c2..f3a566cf979b5ffcf6fd0a7844d4b25a59723b1e 100644 (file)
@@ -250,6 +250,7 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
        const struct rtw_pwr_seq_cmd **pwr_seq;
        u8 rpwm;
        bool cur_pwr;
+       int ret;
 
        if (rtw_chip_wcpu_11ac(rtwdev)) {
                rpwm = rtw_read8(rtwdev, rtwdev->hci.rpwm_addr);
@@ -273,8 +274,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;
 
        if (pwr_on)
                set_bit(RTW_FLAG_POWERON, rtwdev->flags);