[PATCH 00/11] staging: rtl8192e: Remove broken function _rtl92e_if_silent_reset()

From: Philipp Hortmann
Date: Sun Oct 01 2023 - 09:44:04 EST


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