[BUG] staging: rtl8192e: W_DISABLE# does not work after stop/start

From: Philipp Hortmann
Date: Fri Apr 07 2023 - 17:02:43 EST


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.

Thanks for your support.

Bye Philipp