summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_node.h
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2012-08-15 20:01:28 +0000
committeradrian <adrian@FreeBSD.org>2012-08-15 20:01:28 +0000
commit313bc375b29119eae385b56df6ef552e2573b934 (patch)
tree122cb1aaffe36394585b2a6e1cc778b2e548143e /sys/net80211/ieee80211_node.h
parente3f6b14d4f65d89f072b2b4930db6518a8869117 (diff)
downloadFreeBSD-src-313bc375b29119eae385b56df6ef552e2573b934.zip
FreeBSD-src-313bc375b29119eae385b56df6ef552e2573b934.tar.gz
Don't call the node iteration function inside the node table / node
iterate lock. This causes LORs and deadlocks as some code paths will have the com lock held when calling ieee80211_iterate_nodes(). Here, the comlock isn't held during the node table and node iteration locks; and the callback isn't called with any (extra) lock held. PR: kern/170098 Submitted by: moonlightakkiy@yahoo.ca MFC after: 4 weeks
Diffstat (limited to 'sys/net80211/ieee80211_node.h')
-rw-r--r--sys/net80211/ieee80211_node.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_node.h b/sys/net80211/ieee80211_node.h
index 83b108b..48eae2d 100644
--- a/sys/net80211/ieee80211_node.h
+++ b/sys/net80211/ieee80211_node.h
@@ -438,6 +438,8 @@ int ieee80211_node_delucastkey(struct ieee80211_node *);
void ieee80211_node_timeout(void *arg);
typedef void ieee80211_iter_func(void *, struct ieee80211_node *);
+int ieee80211_iterate_nt(struct ieee80211_node_table *,
+ struct ieee80211_node **, uint16_t);
void ieee80211_iterate_nodes(struct ieee80211_node_table *,
ieee80211_iter_func *, void *);
OpenPOWER on IntegriCloud