aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-11-04 08:42:28 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-11-04 18:44:48 -0500
commit5ed176e1c425f9bd1af161d66d348f6116a04fc6 (patch)
treeb03b8be829a8616e6c6c2678a8c590fee889a116 /include/net
parent7fdad987d63f02c8fba30276ba395ac8dc93b719 (diff)
mac80211: make ieee80211_find_sta per virtual interface
Since we have a TODO item to make all station management dependent on virtual interfaces, I figured I'd start with pushing such a change to drivers before more drivers start using the ieee80211_find_sta() API with a hw pointer and cause us grief later on. For now continue exporting the old API in form of ieee80211_find_sta_by_hw(), but discourage its use strongly. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/mac80211.h25
1 files changed, 23 insertions, 2 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index e12293e60ac1..7f035d779db9 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -2106,16 +2106,37 @@ void ieee80211_stop_tx_ba_cb_irqsafe(struct ieee80211_hw *hw, const u8 *ra,
2106/** 2106/**
2107 * ieee80211_find_sta - find a station 2107 * ieee80211_find_sta - find a station
2108 * 2108 *
2109 * @hw: pointer as obtained from ieee80211_alloc_hw() 2109 * @vif: virtual interface to look for station on
2110 * @addr: station's address 2110 * @addr: station's address
2111 * 2111 *
2112 * This function must be called under RCU lock and the 2112 * This function must be called under RCU lock and the
2113 * resulting pointer is only valid under RCU lock as well. 2113 * resulting pointer is only valid under RCU lock as well.
2114 */ 2114 */
2115struct ieee80211_sta *ieee80211_find_sta(struct ieee80211_hw *hw, 2115struct ieee80211_sta *ieee80211_find_sta(struct ieee80211_vif *vif,
2116 const u8 *addr); 2116 const u8 *addr);
2117 2117
2118/** 2118/**
2119 * ieee80211_find_sta_by_hw - find a station on hardware
2120 *
2121 * @hw: pointer as obtained from ieee80211_alloc_hw()
2122 * @addr: station's address
2123 *
2124 * This function must be called under RCU lock and the
2125 * resulting pointer is only valid under RCU lock as well.
2126 *
2127 * NOTE: This function should not be used! When mac80211 is converted
2128 * internally to properly keep track of stations on multiple
2129 * virtual interfaces, it will not always know which station to
2130 * return here since a single address might be used by multiple
2131 * logical stations (e.g. consider a station connecting to another
2132 * BSSID on the same AP hardware without disconnecting first).
2133 *
2134 * DO NOT USE THIS FUNCTION.
2135 */
2136struct ieee80211_sta *ieee80211_find_sta_by_hw(struct ieee80211_hw *hw,
2137 const u8 *addr);
2138
2139/**
2119 * ieee80211_beacon_loss - inform hardware does not receive beacons 2140 * ieee80211_beacon_loss - inform hardware does not receive beacons
2120 * 2141 *
2121 * @vif: &struct ieee80211_vif pointer from &struct ieee80211_if_init_conf. 2142 * @vif: &struct ieee80211_vif pointer from &struct ieee80211_if_init_conf.