mac80211: rename patches accepted upstream
[openwrt/openwrt.git] / package / kernel / mac80211 / patches / 332-v4.17-mac80211-support-AP-4-addr-mode-fast-rx.patch
diff --git a/package/kernel/mac80211/patches/332-v4.17-mac80211-support-AP-4-addr-mode-fast-rx.patch b/package/kernel/mac80211/patches/332-v4.17-mac80211-support-AP-4-addr-mode-fast-rx.patch
new file mode 100644 (file)
index 0000000..3f3eb0a
--- /dev/null
@@ -0,0 +1,25 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 23 Feb 2018 10:00:22 +0100
+Subject: [PATCH] mac80211: support AP 4-addr mode fast-rx
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/net/mac80211/rx.c
++++ b/net/mac80211/rx.c
+@@ -3774,6 +3774,15 @@ void ieee80211_check_fast_rx(struct sta_
+                       !(sdata->flags & IEEE80211_SDATA_DONT_BRIDGE_PACKETS) &&
+                       (sdata->vif.type != NL80211_IFTYPE_AP_VLAN ||
+                        !sdata->u.vlan.sta);
++
++              if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
++                  sdata->u.vlan.sta) {
++                      fastrx.expected_ds_bits |=
++                              cpu_to_le16(IEEE80211_FCTL_FROMDS);
++                      fastrx.sa_offs = offsetof(struct ieee80211_hdr, addr4);
++                      fastrx.internal_forward = 0;
++              }
++
+               break;
+       default:
+               goto clear;