Commit 1474bc87 authored by Johannes Berg's avatar Johannes Berg
Browse files

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



This might seem pretty pointless rather than changing the locking
immediately, but it seems safer to run for a while with checks and
the old locking scheme, and then remove the wdev lock later.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent fa8809a5
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -238,6 +238,7 @@ void cfg80211_register_wdev(struct cfg80211_registered_device *rdev,
static inline void wdev_lock(struct wireless_dev *wdev)
	__acquires(wdev)
{
	lockdep_assert_held(&wdev->wiphy->mtx);
	mutex_lock(&wdev->mtx);
	__acquire(wdev->mtx);
}
@@ -245,11 +246,16 @@ static inline void wdev_lock(struct wireless_dev *wdev)
static inline void wdev_unlock(struct wireless_dev *wdev)
	__releases(wdev)
{
	lockdep_assert_held(&wdev->wiphy->mtx);
	__release(wdev->mtx);
	mutex_unlock(&wdev->mtx);
}

#define ASSERT_WDEV_LOCK(wdev) lockdep_assert_held(&(wdev)->mtx)
static inline void ASSERT_WDEV_LOCK(struct wireless_dev *wdev)
{
	lockdep_assert_held(&wdev->wiphy->mtx);
	lockdep_assert_held(&wdev->mtx);
}

static inline bool cfg80211_has_monitors_only(struct cfg80211_registered_device *rdev)
{