When the function _rtl92e_if_silent_reset() is called the variable priv->rst_progress is set to RESET_TYPE_SILENT. Since priv->up is always true the function is left at "if (priv->up) {" without resetting. Now the function _rtl92e_if_silent_reset() is like deactivated because the equation at the very beginning is false: "if (priv->rst_progress == RESET_TYPE_NORESET) {" This leads to a state where the driver hangs in the reset state and cannot go forward. In 30% of the cases the wlan is disconnected and cannot reconnect. The rest of the time it continues working but no reset is done at all. Further requests for reset are ignored. Remove broken function that has never worked. Some related cleanups are included. Tested with rtl8192e (WLL6130-D99) in Mode n (12.5 MB/s) Tested r8192_private_handler with: sudo iwpriv wlan0 sudo iwpriv wlan0 forcereset 1 Tested channel switch. Transferred this patch over wlan connection of rtl8192e. Philipp Hortmann (11): staging: rtl8192e: Remove ibss_maxjoin_chal staging: rtl8192e: Remove dead code from _rtl92e_if_check_reset() staging: rtl8192e: Remove RESET_TYPE_NORMAL staging: rtl8192e: Remove broken function _rtl92e_if_silent_reset() staging: rtl8192e: Remove unused variable rst_progress staging: rtl8192e: Remove unused variable reset_in_progress staging: rtl8192e: Remove unused parameter from _rtl92e_sta_up() staging: rtl8192e: Remove unused parameter from _rtl92e_up() staging: rtl8192e: Remove unused variable is_silent_reset staging: rtl8192e: Remove unused variables priv->reset_count and reset_cnt staging: rtl8192e: Remove r8192_private_handler _rtl92e_wx_force_reset() drivers/staging/rtl8192e/dot11d.c | 3 - .../staging/rtl8192e/rtl8192e/r8192E_dev.c | 100 ++++++------ drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 147 ++---------------- drivers/staging/rtl8192e/rtl8192e/rtl_core.h | 5 - drivers/staging/rtl8192e/rtl8192e/rtl_dm.c | 54 +------ drivers/staging/rtl8192e/rtl8192e/rtl_wx.c | 18 +-- drivers/staging/rtl8192e/rtllib.h | 2 - drivers/staging/rtl8192e/rtllib_softmac.c | 10 +- 8 files changed, 66 insertions(+), 273 deletions(-) -- 2.42.0