mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 20:32:04 +09:00
rtw88: fix error handling when setup efuse info
commitf4268729ebupstream. Disable efuse if the efuse is enabled when we failed to setup the efuse information, otherwise the hardware will not turn off. Fixes:e3037485c6("rtw88: new Realtek 802.11ac driver") Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
6b6d5f5338
commit
f88ed5cf0d
@@ -1048,19 +1048,19 @@ static int rtw_chip_efuse_info_setup(struct rtw_dev *rtwdev)
|
||||
/* power on mac to read efuse */
|
||||
ret = rtw_chip_efuse_enable(rtwdev);
|
||||
if (ret)
|
||||
goto out;
|
||||
goto out_unlock;
|
||||
|
||||
ret = rtw_parse_efuse_map(rtwdev);
|
||||
if (ret)
|
||||
goto out;
|
||||
goto out_disable;
|
||||
|
||||
ret = rtw_dump_hw_feature(rtwdev);
|
||||
if (ret)
|
||||
goto out;
|
||||
goto out_disable;
|
||||
|
||||
ret = rtw_check_supported_rfe(rtwdev);
|
||||
if (ret)
|
||||
goto out;
|
||||
goto out_disable;
|
||||
|
||||
if (efuse->crystal_cap == 0xff)
|
||||
efuse->crystal_cap = 0;
|
||||
@@ -1087,9 +1087,10 @@ static int rtw_chip_efuse_info_setup(struct rtw_dev *rtwdev)
|
||||
efuse->ext_pa_5g = efuse->pa_type_5g & BIT(0) ? 1 : 0;
|
||||
efuse->ext_lna_2g = efuse->lna_type_5g & BIT(3) ? 1 : 0;
|
||||
|
||||
out_disable:
|
||||
rtw_chip_efuse_disable(rtwdev);
|
||||
|
||||
out:
|
||||
out_unlock:
|
||||
mutex_unlock(&rtwdev->mutex);
|
||||
return ret;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user