diff options
author | David S. Miller <davem@davemloft.net> | 2008-05-19 16:29:40 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-05-19 16:29:40 -0700 |
commit | 44dc19c829c057dc78a5ffacaf851ac4c301eb58 (patch) | |
tree | 7da34731e9dfaefaf14f9119158db864b7677a12 /include | |
parent | 0686caa35ed17cf5b9043f453957e702a7eb588d (diff) | |
parent | 229ce3abb6d6d4598de8ef1ed1e2da8163a9bbc0 (diff) | |
download | linux-44dc19c829c057dc78a5ffacaf851ac4c301eb58.tar.gz linux-44dc19c829c057dc78a5ffacaf851ac4c301eb58.tar.bz2 linux-44dc19c829c057dc78a5ffacaf851ac4c301eb58.zip |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6
Diffstat (limited to 'include')
-rw-r--r-- | include/net/mac80211.h | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 4a80d74975e8..dae3f9ec1154 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h @@ -1594,13 +1594,16 @@ void ieee80211_wake_queues(struct ieee80211_hw *hw); void ieee80211_scan_completed(struct ieee80211_hw *hw); /** - * ieee80211_iterate_active_interfaces - iterate active interfaces + * ieee80211_iterate_active_interfaces- iterate active interfaces * * This function iterates over the interfaces associated with a given * hardware that are currently active and calls the callback for them. + * This function allows the iterator function to sleep, when the iterator + * function is atomic @ieee80211_iterate_active_interfaces_atomic can + * be used. * * @hw: the hardware struct of which the interfaces should be iterated over - * @iterator: the iterator function to call, cannot sleep + * @iterator: the iterator function to call * @data: first argument of the iterator function */ void ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw, @@ -1609,6 +1612,24 @@ void ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw, void *data); /** + * ieee80211_iterate_active_interfaces_atomic - iterate active interfaces + * + * This function iterates over the interfaces associated with a given + * hardware that are currently active and calls the callback for them. + * This function requires the iterator callback function to be atomic, + * if that is not desired, use @ieee80211_iterate_active_interfaces instead. + * + * @hw: the hardware struct of which the interfaces should be iterated over + * @iterator: the iterator function to call, cannot sleep + * @data: first argument of the iterator function + */ +void ieee80211_iterate_active_interfaces_atomic(struct ieee80211_hw *hw, + void (*iterator)(void *data, + u8 *mac, + struct ieee80211_vif *vif), + void *data); + +/** * ieee80211_start_tx_ba_session - Start a tx Block Ack session. * @hw: pointer as obtained from ieee80211_alloc_hw(). * @ra: receiver address of the BA session recipient |