Skip to content
Snippets Groups Projects
Commit 53dc61ae authored by Ping-Ke Shih's avatar Ping-Ke Shih Committed by Greg Kroah-Hartman
Browse files

Revert "wifi: cfg80211: check wiphy mutex is held for wdev mutex"


This reverts commit 268f84a8 which is
commmit 1474bc87fe57deac726cc10203f73daa6c3212f7 upstream.

The reverted commit is based on implementation of wiphy locking that isn't
planned to redo on a stable kernel, so revert it to avoid warning:

 WARNING: CPU: 0 PID: 9 at net/wireless/core.h:231 disconnect_work+0xb8/0x144 [cfg80211]
 CPU: 0 PID: 9 Comm: kworker/0:1 Not tainted 6.6.51-00141-ga1649b6f8ed6 #7
 Hardware name: Freescale i.MX6 SoloX (Device Tree)
 Workqueue: events disconnect_work [cfg80211]
  unwind_backtrace from show_stack+0x10/0x14
  show_stack from dump_stack_lvl+0x58/0x70
  dump_stack_lvl from __warn+0x70/0x1c0
  __warn from warn_slowpath_fmt+0x16c/0x294
  warn_slowpath_fmt from disconnect_work+0xb8/0x144 [cfg80211]
  disconnect_work [cfg80211] from process_one_work+0x204/0x620
  process_one_work from worker_thread+0x1b0/0x474
  worker_thread from kthread+0x10c/0x12c
  kthread from ret_from_fork+0x14/0x24

Reported-by: default avatar <petter@technux.se>
Closes: https://lore.kernel.org/linux-wireless/9e98937d781c990615ef27ee0c858ff9@technux.se/T/#t


Cc: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 424bd795
No related branches found
No related tags found
No related merge requests found
...@@ -228,7 +228,6 @@ void cfg80211_register_wdev(struct cfg80211_registered_device *rdev, ...@@ -228,7 +228,6 @@ void cfg80211_register_wdev(struct cfg80211_registered_device *rdev,
static inline void wdev_lock(struct wireless_dev *wdev) static inline void wdev_lock(struct wireless_dev *wdev)
__acquires(wdev) __acquires(wdev)
{ {
lockdep_assert_held(&wdev->wiphy->mtx);
mutex_lock(&wdev->mtx); mutex_lock(&wdev->mtx);
__acquire(wdev->mtx); __acquire(wdev->mtx);
} }
...@@ -236,16 +235,11 @@ static inline void wdev_lock(struct wireless_dev *wdev) ...@@ -236,16 +235,11 @@ static inline void wdev_lock(struct wireless_dev *wdev)
static inline void wdev_unlock(struct wireless_dev *wdev) static inline void wdev_unlock(struct wireless_dev *wdev)
__releases(wdev) __releases(wdev)
{ {
lockdep_assert_held(&wdev->wiphy->mtx);
__release(wdev->mtx); __release(wdev->mtx);
mutex_unlock(&wdev->mtx); mutex_unlock(&wdev->mtx);
} }
static inline void ASSERT_WDEV_LOCK(struct wireless_dev *wdev) #define ASSERT_WDEV_LOCK(wdev) lockdep_assert_held(&(wdev)->mtx)
{
lockdep_assert_held(&wdev->wiphy->mtx);
lockdep_assert_held(&wdev->mtx);
}
static inline bool cfg80211_has_monitors_only(struct cfg80211_registered_device *rdev) static inline bool cfg80211_has_monitors_only(struct cfg80211_registered_device *rdev)
{ {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment