FAILED: patch "[PATCH] rtl8xxxu: Fix rtl8192eu driver reload issue" failed to apply to 4.8-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 4.8-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
29d5e6fbd65be89dcd32f070fc45ee0e3b2f82b6Mon Sep 17 00:00:00 2001
From: Jes Sorensen <[email protected]>
Date: Fri, 30 Sep 2016 19:35:18 -0400
Subject: [PATCH] rtl8xxxu: Fix rtl8192eu driver reload issue
The 8192eu suffered from two issues when reloading the driver.
The same problems as with the 8723bu where REG_RX_WAIT_CCA bits 22 and 23 didn't get set in rtl8192e_enable_rf().
In addition it also seems prone to issues when setting REG_RF_CTRL to 0 intead of just disabling the RF_ENABLE bit. Similar to what was causing issues with the 8188eu.
With this patch I can successfully reload the driver and reassociate to an APi with an 8192eu dongle.
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c +7 -1
@@ -1461,7 +1461,9 @@ static int rtl8192eu_active_to_emu(struct rtl8xxxu_priv *priv)int count, ret =0 ;/* Turn off RF */ -rtl8xxxu_write8 (priv,REG_RF_CTRL ,0 ); + val8 =rtl8xxxu_read8 (priv,REG_RF_CTRL ); + val8 &= ~RF_ENABLE ; +rtl8xxxu_write8 (priv,REG_RF_CTRL , val8);/* Switch DPDT_SEL_P output from register 0x65[2] */ val8 =rtl8xxxu_read8 (priv,REG_LEDCFG2 );
@@ -1593,6 +1595,10 @@ static void rtl8192e_enable_rf(struct rtl8xxxu_priv *priv)u32 val32;u8 val8; + val32 =rtl8xxxu_read32 (priv,REG_RX_WAIT_CCA ); + val32 |= (BIT (22 ) |BIT (23 )); +rtl8xxxu_write32 (priv,REG_RX_WAIT_CCA , val32); + val8 =rtl8xxxu_read8 (priv,REG_GPIO_MUXCFG ); val8 |=BIT (5 );rtl8xxxu_write8 (priv,REG_GPIO_MUXCFG , val8);