diff options
author | Felix Fietkau <nbd@openwrt.org> | 2009-11-14 02:35:04 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2009-11-14 02:35:04 +0000 |
commit | bb572e08f8346d1a1665dd15030576b10fb385cd (patch) | |
tree | 6a674f61f97c7b05d1a6d81e7491fb4130e5cea7 /package/mac80211/patches/500-nl80211_4addr.patch | |
parent | eaf1d61e6d76cc19aeaee5b31833f6e844264e0b (diff) | |
download | upstream-bb572e08f8346d1a1665dd15030576b10fb385cd.tar.gz upstream-bb572e08f8346d1a1665dd15030576b10fb385cd.tar.bz2 upstream-bb572e08f8346d1a1665dd15030576b10fb385cd.zip |
mac80211: update to 2009-11-13 and add some of my new performance improvement patches. fixes excessive cpu usage of hostapd in ap mode, should also fix the ath9k memleak
SVN-Revision: 18415
Diffstat (limited to 'package/mac80211/patches/500-nl80211_4addr.patch')
-rw-r--r-- | package/mac80211/patches/500-nl80211_4addr.patch | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/package/mac80211/patches/500-nl80211_4addr.patch b/package/mac80211/patches/500-nl80211_4addr.patch deleted file mode 100644 index de3b78fdbb..0000000000 --- a/package/mac80211/patches/500-nl80211_4addr.patch +++ /dev/null @@ -1,69 +0,0 @@ ---- a/include/linux/nl80211.h -+++ b/include/linux/nl80211.h -@@ -584,6 +584,8 @@ enum nl80211_commands { - * changed then the list changed and the dump should be repeated - * completely from scratch. - * -+ * @NL80211_ATTR_4ADDR: Use 4-address frames on a virtual interface -+ * - * @NL80211_ATTR_MAX: highest attribute number currently defined - * @__NL80211_ATTR_AFTER_LAST: internal use - */ -@@ -714,6 +716,8 @@ enum nl80211_attrs { - - NL80211_ATTR_PID, - -+ NL80211_ATTR_4ADDR, -+ - /* add attributes here, update the policy in nl80211.c */ - - __NL80211_ATTR_AFTER_LAST, ---- a/include/net/cfg80211.h -+++ b/include/net/cfg80211.h -@@ -207,10 +207,12 @@ struct ieee80211_supported_band { - * struct vif_params - describes virtual interface parameters - * @mesh_id: mesh ID to use - * @mesh_id_len: length of the mesh ID -+ * @use_4addr: use 4-address frames - */ - struct vif_params { - u8 *mesh_id; - int mesh_id_len; -+ int use_4addr; - }; - - /** ---- a/net/wireless/nl80211.c -+++ b/net/wireless/nl80211.c -@@ -140,6 +140,7 @@ static struct nla_policy nl80211_policy[ - [NL80211_ATTR_CIPHER_SUITE_GROUP] = { .type = NLA_U32 }, - [NL80211_ATTR_WPA_VERSIONS] = { .type = NLA_U32 }, - [NL80211_ATTR_PID] = { .type = NLA_U32 }, -+ [NL80211_ATTR_4ADDR] = { .type = NLA_U8 }, - }; - - /* policy for the attributes */ -@@ -989,6 +990,13 @@ static int nl80211_set_interface(struct - change = true; - } - -+ if (info->attrs[NL80211_ATTR_4ADDR]) { -+ params.use_4addr = !!nla_get_u8(info->attrs[NL80211_ATTR_4ADDR]); -+ change = true; -+ } else { -+ params.use_4addr = -1; -+ } -+ - if (info->attrs[NL80211_ATTR_MNTR_FLAGS]) { - if (ntype != NL80211_IFTYPE_MONITOR) { - err = -EINVAL; -@@ -1055,6 +1063,9 @@ static int nl80211_new_interface(struct - params.mesh_id_len = nla_len(info->attrs[NL80211_ATTR_MESH_ID]); - } - -+ if (info->attrs[NL80211_ATTR_4ADDR]) -+ params.use_4addr = !!nla_get_u8(info->attrs[NL80211_ATTR_4ADDR]); -+ - err = parse_monitor_flags(type == NL80211_IFTYPE_MONITOR ? - info->attrs[NL80211_ATTR_MNTR_FLAGS] : NULL, - &flags); |