diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-05-20 17:23:03 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-05-20 17:23:03 -0700 |
commit | e616c6303306df62223ebe2e68bb2f19c420dd81 (patch) | |
tree | d60d372fac5ceb4da71ac3802422b9b0ae52b20d /include/net/mac80211.h | |
parent | 789319db76ccb8f61d2f6a91d2f2fcb70edae9c5 (diff) | |
parent | d3ede327e83f202c3a0962e207318f65717c5eb7 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits)
pktgen: make sure that pktgen_thread_worker has been executed
[VLAN]: Propagate selected feature bits to VLAN devices
drivers/atm/: remove CVS keywords
vlan: Correctly handle device notifications for layered VLAN devices
net: Fix call to ->change_rx_flags(dev, IFF_MULTICAST) in dev_change_flags()
net_sched: cls_api: fix return value for non-existant classifiers
ipsec: Use the correct ip_local_out function
ipv6 addrconf: Allow infinite prefix lifetime.
ipv6 route: Fix lifetime in netlink.
ipv6 addrconf: Fix route lifetime setting in corner case.
ndisc: Add missing strategies for per-device retrans timer/reachable time settings.
ipv6: Move <linux/in6.h> from header-y to unifdef-y.
l2tp: avoid skb truesize bug if headroom is increased
wireless: Create 'device' symlink in sysfs
wireless, airo: waitbusy() won't delay
libertas: fix command timeout after firmware failure
mac80211: Add RTNL version of ieee80211_iterate_active_interfaces
mac80211 : Association with 11n hidden ssid ap.
hostap: fix "registers" registration in procfs
isdn/capi: Return proper errnos on module init.
...
Diffstat (limited to 'include/net/mac80211.h')
-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 |