aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/cfg.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-01-08 12:10:58 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-01-12 14:02:07 -0500
commit0e5ded5a87c097760abd68521b86f1025dedc7d7 (patch)
tree8df46ae5bb0a32c69127bc3b1c92245a6ca98be2 /net/mac80211/cfg.c
parentd524215f6cad245249df8def19125ae6fd0bcc9b (diff)
mac80211: allow station updates on ap interfaces for vlan stations
Since the per-vif station changes, sta_info_get on the ap sdata no longer returns entries for stations on ap vlans. This causes issues with hostapd, which currently always passes the ap interface name to nl80211 calls. This patch provides bug compatibility with the earlier versions until hostapd is fixed. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/cfg.c')
-rw-r--r--net/mac80211/cfg.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index e5dda6fb8dff..dc12e9466ffd 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -148,7 +148,7 @@ static int ieee80211_add_key(struct wiphy *wiphy, struct net_device *dev,
148 rcu_read_lock(); 148 rcu_read_lock();
149 149
150 if (mac_addr) { 150 if (mac_addr) {
151 sta = sta_info_get(sdata, mac_addr); 151 sta = sta_info_get_bss(sdata, mac_addr);
152 if (!sta) { 152 if (!sta) {
153 ieee80211_key_free(key); 153 ieee80211_key_free(key);
154 err = -ENOENT; 154 err = -ENOENT;
@@ -179,7 +179,7 @@ static int ieee80211_del_key(struct wiphy *wiphy, struct net_device *dev,
179 if (mac_addr) { 179 if (mac_addr) {
180 ret = -ENOENT; 180 ret = -ENOENT;
181 181
182 sta = sta_info_get(sdata, mac_addr); 182 sta = sta_info_get_bss(sdata, mac_addr);
183 if (!sta) 183 if (!sta)
184 goto out_unlock; 184 goto out_unlock;
185 185
@@ -226,7 +226,7 @@ static int ieee80211_get_key(struct wiphy *wiphy, struct net_device *dev,
226 rcu_read_lock(); 226 rcu_read_lock();
227 227
228 if (mac_addr) { 228 if (mac_addr) {
229 sta = sta_info_get(sdata, mac_addr); 229 sta = sta_info_get_bss(sdata, mac_addr);
230 if (!sta) 230 if (!sta)
231 goto out; 231 goto out;
232 232
@@ -419,7 +419,7 @@ static int ieee80211_get_station(struct wiphy *wiphy, struct net_device *dev,
419 419
420 rcu_read_lock(); 420 rcu_read_lock();
421 421
422 sta = sta_info_get(sdata, mac); 422 sta = sta_info_get_bss(sdata, mac);
423 if (sta) { 423 if (sta) {
424 ret = 0; 424 ret = 0;
425 sta_set_sinfo(sta, sinfo); 425 sta_set_sinfo(sta, sinfo);
@@ -775,7 +775,7 @@ static int ieee80211_del_station(struct wiphy *wiphy, struct net_device *dev,
775 if (mac) { 775 if (mac) {
776 rcu_read_lock(); 776 rcu_read_lock();
777 777
778 sta = sta_info_get(sdata, mac); 778 sta = sta_info_get_bss(sdata, mac);
779 if (!sta) { 779 if (!sta) {
780 rcu_read_unlock(); 780 rcu_read_unlock();
781 return -ENOENT; 781 return -ENOENT;
@@ -803,7 +803,7 @@ static int ieee80211_change_station(struct wiphy *wiphy,
803 803
804 rcu_read_lock(); 804 rcu_read_lock();
805 805
806 sta = sta_info_get(sdata, mac); 806 sta = sta_info_get_bss(sdata, mac);
807 if (!sta) { 807 if (!sta) {
808 rcu_read_unlock(); 808 rcu_read_unlock();
809 return -ENOENT; 809 return -ENOENT;