cfg80211/mac80211: use lockdep_assert_held
authorJohannes Berg <johannes.berg@intel.com>
Wed, 15 Sep 2010 11:28:15 +0000 (13:28 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 16 Sep 2010 19:46:00 +0000 (15:46 -0400)
Instead of using a WARN_ON(!mutex_is_locked())
use lockdep_assert_held() which compiles away
completely when lockdep isn't enabled, and
also is a more accurate assertion since it
checks that the current thread is holding the
mutex.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/chan.c
net/mac80211/key.c
net/mac80211/mlme.c
net/mac80211/sta_info.c
net/mac80211/util.c
net/wireless/core.h
net/wireless/reg.c

index 32be11e4c4d92dbe9d34d8cae84d7e0a482e8882..5b24740fc0b0698c65cc1141c981631160a1efc8 100644 (file)
@@ -11,7 +11,7 @@ __ieee80211_get_channel_mode(struct ieee80211_local *local,
 {
        struct ieee80211_sub_if_data *sdata;
 
-       WARN_ON(!mutex_is_locked(&local->iflist_mtx));
+       lockdep_assert_held(&local->iflist_mtx);
 
        list_for_each_entry(sdata, &local->interfaces, list) {
                if (sdata == ignore)
index 3570f8c2bb401d3d4d20cbac6dbc0fddfb395235..6a63d1abd14dab5117778bf524c630d19cfaf01e 100644 (file)
@@ -49,7 +49,7 @@ static const u8 bcast_addr[ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
 
 static void assert_key_lock(struct ieee80211_local *local)
 {
-       WARN_ON(!mutex_is_locked(&local->key_mtx));
+       lockdep_assert_held(&local->key_mtx);
 }
 
 static struct ieee80211_sta *get_sta_for_key(struct ieee80211_key *key)
index 0cb822cc12e9c52618ddb18d5503db43765b9f11..bfb0eab5c26d9c0e9222c5a65a7eac83169ae21e 100644 (file)
@@ -92,7 +92,7 @@ enum rx_mgmt_action {
 /* utils */
 static inline void ASSERT_MGD_MTX(struct ieee80211_if_managed *ifmgd)
 {
-       WARN_ON(!mutex_is_locked(&ifmgd->mtx));
+       lockdep_assert_held(&ifmgd->mtx);
 }
 
 /*
index e356ff80671ace364cefd8acb6d6ad5b6d86f0c3..44e10a9de0a71d0dc9bf183708ecee3226d80fe3 100644 (file)
@@ -280,7 +280,7 @@ static int sta_info_finish_insert(struct sta_info *sta, bool async)
        unsigned long flags;
        int err = 0;
 
-       WARN_ON(!mutex_is_locked(&local->sta_mtx));
+       lockdep_assert_held(&local->sta_mtx);
 
        /* notify driver */
        if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
index bd40b11d5ab9e514d7e75f887baebf65352e0370..9f21a69f09171ca0a290007e0c87e834a0e5e6b7 100644 (file)
@@ -1296,9 +1296,9 @@ void ieee80211_recalc_smps(struct ieee80211_local *local,
        int count = 0;
 
        if (forsdata)
-               WARN_ON(!mutex_is_locked(&forsdata->u.mgd.mtx));
+               lockdep_assert_held(&forsdata->u.mgd.mtx);
 
-       WARN_ON(!mutex_is_locked(&local->iflist_mtx));
+       lockdep_assert_held(&local->iflist_mtx);
 
        /*
         * This function could be improved to handle multiple
index 58ab2c791d287c58426458dea9d685ce49770a2f..37580e090a3db6bd1daf05efe14d42be7a63b5ff 100644 (file)
@@ -95,7 +95,10 @@ extern struct mutex cfg80211_mutex;
 extern struct list_head cfg80211_rdev_list;
 extern int cfg80211_rdev_list_generation;
 
-#define assert_cfg80211_lock() WARN_ON(!mutex_is_locked(&cfg80211_mutex))
+static inline void assert_cfg80211_lock(void)
+{
+       lockdep_assert_held(&cfg80211_mutex);
+}
 
 /*
  * You can use this to mark a wiphy_idx as not having an associated wiphy.
@@ -202,8 +205,8 @@ static inline void wdev_unlock(struct wireless_dev *wdev)
        mutex_unlock(&wdev->mtx);
 }
 
-#define ASSERT_RDEV_LOCK(rdev) WARN_ON(!mutex_is_locked(&(rdev)->mtx));
-#define ASSERT_WDEV_LOCK(wdev) WARN_ON(!mutex_is_locked(&(wdev)->mtx));
+#define ASSERT_RDEV_LOCK(rdev) lockdep_assert_held(&(rdev)->mtx)
+#define ASSERT_WDEV_LOCK(wdev) lockdep_assert_held(&(wdev)->mtx)
 
 enum cfg80211_event_type {
        EVENT_CONNECT_RESULT,
index b0d9a08447c9f7656b03ff6dfcb2971537a74b9d..d14bbf960c18223a5305b4b1cd33cd68ce49be76 100644 (file)
@@ -74,7 +74,11 @@ const struct ieee80211_regdomain *cfg80211_regdomain;
  *     - last_request
  */
 static DEFINE_MUTEX(reg_mutex);
-#define assert_reg_lock() WARN_ON(!mutex_is_locked(&reg_mutex))
+
+static inline void assert_reg_lock(void)
+{
+       lockdep_assert_held(&reg_mutex);
+}
 
 /* Used to queue up regulatory hints */
 static LIST_HEAD(reg_requests_list);