Messages in this thread | | | Date | Fri, 14 Apr 2023 00:17:26 +0200 | Subject | Re: [BUG] staging: rtl8192e: W_DISABLE# does not work after stop/start | From | Philipp Hortmann <> |
| |
On 4/13/23 11:34, Dan Carpenter wrote: > On Fri, Apr 07, 2023 at 11:02:05PM +0200, Philipp Hortmann wrote: >> 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() >> checking this every two seconds is an conditional return. >> >> if (priv->bfirst_after_down) { >> priv->bfirst_after_down = true; // PH: useless line >> return; >> } >> >> tmp1byte = rtl92e_readb(dev, GPI); // PH: GPI for W_DISABLE# >> >> 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. >> > > Is there a question here? You're like the expert on this driver and you > seem to have figured out the solution... I'm confused. For me a bug report is always a please to the community to fix. But when nobody likes to start I have to do it by myself... > > regards, > dan carpenter >
As expected I am not even on the half way. I can set the bfirst_after_down back to false. Then WLAN recovers but not the connection. The os is asking me to enter the WLAN password. I can do so but that does not fix the issue. I need to switch WLAN off and on in software. Then the connection comes back again.
I need to find a way to reset the internal states of the driver accordingly.
Thanks for your support.
No response required - will work on the fix on the weekend....
regards,
Philipp
| |