summaryrefslogtreecommitdiff
path: root/package/mac80211/patches/550-vlan_sta_lookup.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/550-vlan_sta_lookup.patch')
-rw-r--r--package/mac80211/patches/550-vlan_sta_lookup.patch98
1 files changed, 0 insertions, 98 deletions
diff --git a/package/mac80211/patches/550-vlan_sta_lookup.patch b/package/mac80211/patches/550-vlan_sta_lookup.patch
deleted file mode 100644
index ad15ca9..0000000
--- a/package/mac80211/patches/550-vlan_sta_lookup.patch
+++ /dev/null
@@ -1,98 +0,0 @@
---- a/net/mac80211/sta_info.c
-+++ b/net/mac80211/sta_info.c
-@@ -119,6 +119,27 @@ struct sta_info *sta_info_get(struct iee
- return sta;
- }
-
-+/*
-+ * Get sta info either from the specified interface
-+ * or from one of its vlans
-+ */
-+struct sta_info *sta_info_get_bss(struct ieee80211_sub_if_data *sdata,
-+ const u8 *addr)
-+{
-+ struct ieee80211_local *local = sdata->local;
-+ struct sta_info *sta;
-+
-+ sta = rcu_dereference(local->sta_hash[STA_HASH(addr)]);
-+ while (sta) {
-+ if ((sta->sdata == sdata ||
-+ sta->sdata->bss == sdata->bss) &&
-+ memcmp(sta->sta.addr, addr, ETH_ALEN) == 0)
-+ break;
-+ sta = rcu_dereference(sta->hnext);
-+ }
-+ return sta;
-+}
-+
- struct sta_info *sta_info_get_by_idx(struct ieee80211_sub_if_data *sdata,
- int idx)
- {
---- a/net/mac80211/sta_info.h
-+++ b/net/mac80211/sta_info.h
-@@ -408,6 +408,9 @@ static inline u32 get_sta_flags(struct s
- struct sta_info *sta_info_get(struct ieee80211_sub_if_data *sdata,
- const u8 *addr);
-
-+struct sta_info *sta_info_get_bss(struct ieee80211_sub_if_data *sdata,
-+ const u8 *addr);
-+
- static inline
- void for_each_sta_info_type_check(struct ieee80211_local *local,
- const u8 *addr,
---- a/net/mac80211/cfg.c
-+++ b/net/mac80211/cfg.c
-@@ -148,7 +148,7 @@ static int ieee80211_add_key(struct wiph
- rcu_read_lock();
-
- if (mac_addr) {
-- sta = sta_info_get(sdata, mac_addr);
-+ sta = sta_info_get_bss(sdata, mac_addr);
- if (!sta) {
- ieee80211_key_free(key);
- err = -ENOENT;
-@@ -179,7 +179,7 @@ static int ieee80211_del_key(struct wiph
- if (mac_addr) {
- ret = -ENOENT;
-
-- sta = sta_info_get(sdata, mac_addr);
-+ sta = sta_info_get_bss(sdata, mac_addr);
- if (!sta)
- goto out_unlock;
-
-@@ -226,7 +226,7 @@ static int ieee80211_get_key(struct wiph
- rcu_read_lock();
-
- if (mac_addr) {
-- sta = sta_info_get(sdata, mac_addr);
-+ sta = sta_info_get_bss(sdata, mac_addr);
- if (!sta)
- goto out;
-
-@@ -419,7 +419,7 @@ static int ieee80211_get_station(struct
-
- rcu_read_lock();
-
-- sta = sta_info_get(sdata, mac);
-+ sta = sta_info_get_bss(sdata, mac);
- if (sta) {
- ret = 0;
- sta_set_sinfo(sta, sinfo);
-@@ -775,7 +775,7 @@ static int ieee80211_del_station(struct
- if (mac) {
- rcu_read_lock();
-
-- sta = sta_info_get(sdata, mac);
-+ sta = sta_info_get_bss(sdata, mac);
- if (!sta) {
- rcu_read_unlock();
- return -ENOENT;
-@@ -803,7 +803,7 @@ static int ieee80211_change_station(stru
-
- rcu_read_lock();
-
-- sta = sta_info_get(sdata, mac);
-+ sta = sta_info_get_bss(sdata, mac);
- if (!sta) {
- rcu_read_unlock();
- return -ENOENT;