1
0
mirror of https://github.com/aircrack-ng/rtl8812au.git synced 2024-09-19 20:50:41 +00:00

Merge pull request #32 from evilphish/v5.1.5

fix USB3 modeswitch
This commit is contained in:
Christian kimocoder 2017-10-21 01:14:23 +02:00 committed by GitHub
commit 7ad48f27c9

View File

@ -658,14 +658,32 @@ static int usb_reprobe_switch_usb_mode(PADAPTER Adapter)
u8 ret = _FALSE;
/* efuse not allow driver to switch usb mode */
//if (pHalData->EEPROMUsbSwitch == _FALSE)
// goto exit;
if (pHalData->EEPROMUsbSwitch == _FALSE)
goto exit;
/* registry not allow driver to switch usb mode */
if (registry_par->switch_usb_mode == 0)
goto exit;
#if defined(CONFIG_RTL8812A) || defined(CONFIG_RTL8821A) || defined(CONFIG_RTL8814A)
if (IS_HIGH_SPEED_USB(Adapter)) {
if ((rtw_read8(Adapter, 0x74) & (BIT(2)|BIT(3))) != BIT(3)) {
rtw_write8(Adapter, 0x74, 0x8);
rtw_write8(Adapter, 0x70, 0x2);
rtw_write8(Adapter, 0x3e, 0x1);
rtw_write8(Adapter, 0x3d, 0x3);
/* usb disconnect */
rtw_write8(Adapter, 0x5, 0x80);
ret = _TRUE;
}
} else if (IS_SUPER_SPEED_USB(Adapter)) {
rtw_write8(Adapter, 0x70, rtw_read8(Adapter, 0x70) & (~BIT(1)));
rtw_write8(Adapter, 0x3e, rtw_read8(Adapter, 0x3e) & (~BIT(0)));
}
#else
rtw_hal_set_hwreg(Adapter, HW_VAR_USB_MODE, &ret);
#endif
exit:
return ret;