lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Sun, 1 Oct 2023 15:43:48 +0200
From:   Philipp Hortmann <philipp.g.hortmann@...il.com>
To:     Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        linux-staging@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: [PATCH 00/11] staging: rtl8192e: Remove broken function
 _rtl92e_if_silent_reset()

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ