mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
wifi: rtw88: mac: Return the original error from rtw_mac_power_switch()
[ Upstream commit15c8e267df] 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:e3037485c6("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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
154d4d630e
commit
78eee85913
@@ -247,6 +247,7 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
|
|||||||
const struct rtw_pwr_seq_cmd **pwr_seq;
|
const struct rtw_pwr_seq_cmd **pwr_seq;
|
||||||
u8 rpwm;
|
u8 rpwm;
|
||||||
bool cur_pwr;
|
bool cur_pwr;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if (rtw_chip_wcpu_11ac(rtwdev)) {
|
if (rtw_chip_wcpu_11ac(rtwdev)) {
|
||||||
rpwm = rtw_read8(rtwdev, rtwdev->hci.rpwm_addr);
|
rpwm = rtw_read8(rtwdev, rtwdev->hci.rpwm_addr);
|
||||||
@@ -270,8 +271,9 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
|
|||||||
return -EALREADY;
|
return -EALREADY;
|
||||||
|
|
||||||
pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq;
|
pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq;
|
||||||
if (rtw_pwr_seq_parser(rtwdev, pwr_seq))
|
ret = rtw_pwr_seq_parser(rtwdev, pwr_seq);
|
||||||
return -EINVAL;
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
if (pwr_on)
|
if (pwr_on)
|
||||||
set_bit(RTW_FLAG_POWERON, rtwdev->flags);
|
set_bit(RTW_FLAG_POWERON, rtwdev->flags);
|
||||||
|
|||||||
Reference in New Issue
Block a user