Skip to contentSkip to conversation

staging: rtl8192e: Fix W_DISABLE# does not work after stop/start

PATCH Superseded Philipp Hortmann 2 participants 2 messages Apr 17, 2023 – Apr 18, 2023 Staging

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 staging: rtl8192e: Fix W_DISABLE# does not work after stop/start

When loading the driver for rtl8192e, the W_DISABLE# switch is working as intended. But when the WLAN is turned off in software and then turned on again the W_DISABLE# does not work anymore. Reason for this is that in the function _rtl92e_dm_check_rf_ctrl_gpio() the bfirst_after_down is checked and returned when true. bfirst_after_down is set true when switching the WLAN off in software. But it is not set to false again when WLAN is turned on again.

Add bfirst_after_down = false in _rtl92e_sta_up to reset bit and fix above described bug.

---
v1->v2: Added Fixes Tag

---
 drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 1 +
 1 file changed, 1 insertion(+)
drivers/staging/rtl8192e/rtl8192e/rtl_core.c +1 -0
index 4cf84b5666a7..27040d1e3230 100644
@@ -645,6 +645,7 @@ static int _rtl92e_sta_up(struct net_device *dev, bool is_silent_reset)
 	else
 		netif_wake_queue(dev);
 
+	priv->bfirst_after_down = false;
 	return 0;
 }
 
Signature · 1 line
2.40.0
#1 lore raw
Quoted 8 lines · Philipp Hortmann

When loading the driver for rtl8192e, the W_DISABLE# switch is working as intended. But when the WLAN is turned off in software and then turned on again the W_DISABLE# does not work anymore. Reason for this is that in the function _rtl92e_dm_check_rf_ctrl_gpio() the bfirst_after_down is checked and returned when true. bfirst_after_down is set true when switching the WLAN off in software. But it is not set to false again when WLAN is turned on again.

Quoted 7 lines

Add bfirst_after_down = false in _rtl92e_sta_up to reset bit and fix above described bug.

---
v1->v2: Added Fixes Tag

"Fixes:" needs to point to a git commit id, not a url.

thanks,

greg k-h