aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2010-09-15 07:28:15 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-09-16 15:46:00 -0400
commit46a5ebaf02d69e26ee0f47a0b8d2d9bc619240d4 (patch)
tree77bc5ceee61ce125c4b608d7b979bf8d033ffdcc /net
parentf5521b13880f4f4f612e1d20dd4f565122d16e04 (diff)
cfg80211/mac80211: use lockdep_assert_held
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>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/chan.c2
-rw-r--r--net/mac80211/key.c2
-rw-r--r--net/mac80211/mlme.c2
-rw-r--r--net/mac80211/sta_info.c2
-rw-r--r--net/mac80211/util.c4
-rw-r--r--net/wireless/core.h9
-rw-r--r--net/wireless/reg.c6
7 files changed, 17 insertions, 10 deletions
diff --git a/net/mac80211/chan.c b/net/mac80211/chan.c
index 32be11e4c4d9..5b24740fc0b0 100644
--- a/net/mac80211/chan.c
+++ b/net/mac80211/chan.c
@@ -11,7 +11,7 @@ __ieee80211_get_channel_mode(struct ieee80211_local *local,
11{ 11{
12 struct ieee80211_sub_if_data *sdata; 12 struct ieee80211_sub_if_data *sdata;
13 13
14 WARN_ON(!mutex_is_locked(&local->iflist_mtx)); 14 lockdep_assert_held(&local->iflist_mtx);
15 15
16 list_for_each_entry(sdata, &local->interfaces, list) { 16 list_for_each_entry(sdata, &local->interfaces, list) {
17 if (sdata == ignore) 17 if (sdata == ignore)
diff --git a/net/mac80211/key.c b/net/mac80211/key.c
index 3570f8c2bb40..6a63d1abd14d 100644
--- a/net/mac80211/key.c
+++ b/net/mac80211/key.c
@@ -49,7 +49,7 @@ static const u8 bcast_addr[ETH_ALEN] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF };
49 49
50static void assert_key_lock(struct ieee80211_local *local) 50static void assert_key_lock(struct ieee80211_local *local)
51{ 51{
52 WARN_ON(!mutex_is_locked(&local->key_mtx)); 52 lockdep_assert_held(&local->key_mtx);
53} 53}
54 54
55static struct ieee80211_sta *get_sta_for_key(struct ieee80211_key *key) 55static struct ieee80211_sta *get_sta_for_key(struct ieee80211_key *key)
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 0cb822cc12e9..bfb0eab5c26d 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -92,7 +92,7 @@ enum rx_mgmt_action {
92/* utils */ 92/* utils */
93static inline void ASSERT_MGD_MTX(struct ieee80211_if_managed *ifmgd) 93static inline void ASSERT_MGD_MTX(struct ieee80211_if_managed *ifmgd)
94{ 94{
95 WARN_ON(!mutex_is_locked(&ifmgd->mtx)); 95 lockdep_assert_held(&ifmgd->mtx);
96} 96}
97 97
98/* 98/*
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index e356ff80671a..44e10a9de0a7 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -280,7 +280,7 @@ static int sta_info_finish_insert(struct sta_info *sta, bool async)
280 unsigned long flags; 280 unsigned long flags;
281 int err = 0; 281 int err = 0;
282 282
283 WARN_ON(!mutex_is_locked(&local->sta_mtx)); 283 lockdep_assert_held(&local->sta_mtx);
284 284
285 /* notify driver */ 285 /* notify driver */
286 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) 286 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index bd40b11d5ab9..9f21a69f0917 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -1296,9 +1296,9 @@ void ieee80211_recalc_smps(struct ieee80211_local *local,
1296 int count = 0; 1296 int count = 0;
1297 1297
1298 if (forsdata) 1298 if (forsdata)
1299 WARN_ON(!mutex_is_locked(&forsdata->u.mgd.mtx)); 1299 lockdep_assert_held(&forsdata->u.mgd.mtx);
1300 1300
1301 WARN_ON(!mutex_is_locked(&local->iflist_mtx)); 1301 lockdep_assert_held(&local->iflist_mtx);
1302 1302
1303 /* 1303 /*
1304 * This function could be improved to handle multiple 1304 * This function could be improved to handle multiple
diff --git a/net/wireless/core.h b/net/wireless/core.h
index 58ab2c791d28..37580e090a3d 100644
--- a/net/wireless/core.h
+++ b/net/wireless/core.h
@@ -95,7 +95,10 @@ extern struct mutex cfg80211_mutex;
95extern struct list_head cfg80211_rdev_list; 95extern struct list_head cfg80211_rdev_list;
96extern int cfg80211_rdev_list_generation; 96extern int cfg80211_rdev_list_generation;
97 97
98#define assert_cfg80211_lock() WARN_ON(!mutex_is_locked(&cfg80211_mutex)) 98static inline void assert_cfg80211_lock(void)
99{
100 lockdep_assert_held(&cfg80211_mutex);
101}
99 102
100/* 103/*
101 * You can use this to mark a wiphy_idx as not having an associated wiphy. 104 * 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)
202 mutex_unlock(&wdev->mtx); 205 mutex_unlock(&wdev->mtx);
203} 206}
204 207
205#define ASSERT_RDEV_LOCK(rdev) WARN_ON(!mutex_is_locked(&(rdev)->mtx)); 208#define ASSERT_RDEV_LOCK(rdev) lockdep_assert_held(&(rdev)->mtx)
206#define ASSERT_WDEV_LOCK(wdev) WARN_ON(!mutex_is_locked(&(wdev)->mtx)); 209#define ASSERT_WDEV_LOCK(wdev) lockdep_assert_held(&(wdev)->mtx)
207 210
208enum cfg80211_event_type { 211enum cfg80211_event_type {
209 EVENT_CONNECT_RESULT, 212 EVENT_CONNECT_RESULT,
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index b0d9a08447c9..d14bbf960c18 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -74,7 +74,11 @@ const struct ieee80211_regdomain *cfg80211_regdomain;
74 * - last_request 74 * - last_request
75 */ 75 */
76static DEFINE_MUTEX(reg_mutex); 76static DEFINE_MUTEX(reg_mutex);
77#define assert_reg_lock() WARN_ON(!mutex_is_locked(&reg_mutex)) 77
78static inline void assert_reg_lock(void)
79{
80 lockdep_assert_held(&reg_mutex);
81}
78 82
79/* Used to queue up regulatory hints */ 83/* Used to queue up regulatory hints */
80static LIST_HEAD(reg_requests_list); 84static LIST_HEAD(reg_requests_list);