mac80211: update to v6.1.24
[openwrt/staging/dedeckeh.git] / package / kernel / mac80211 / patches / subsys / 317-wifi-mac80211-fix-qos-on-mesh-interfaces.patch
diff --git a/package/kernel/mac80211/patches/subsys/317-wifi-mac80211-fix-qos-on-mesh-interfaces.patch b/package/kernel/mac80211/patches/subsys/317-wifi-mac80211-fix-qos-on-mesh-interfaces.patch
deleted file mode 100644 (file)
index c60a88d..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Wed, 15 Feb 2023 15:11:54 +0100
-Subject: [PATCH] wifi: mac80211: fix qos on mesh interfaces
-
-When ieee80211_select_queue is called for mesh, the sta pointer is usually
-NULL, since the nexthop is looked up much later in the tx path.
-Explicitly check for unicast address in that case in order to make qos work
-again.
-
-Fixes: 50e2ab392919 ("wifi: mac80211: fix queue selection for mesh/OCB interfaces")
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/mac80211/wme.c
-+++ b/net/mac80211/wme.c
-@@ -147,6 +147,7 @@ u16 ieee80211_select_queue_80211(struct
- u16 ieee80211_select_queue(struct ieee80211_sub_if_data *sdata,
-                          struct sta_info *sta, struct sk_buff *skb)
- {
-+      const struct ethhdr *eth = (void *)skb->data;
-       struct mac80211_qos_map *qos_map;
-       bool qos;
-@@ -154,8 +155,9 @@ u16 ieee80211_select_queue(struct ieee80
-       skb_get_hash(skb);
-       /* all mesh/ocb stations are required to support WME */
--      if (sta && (sdata->vif.type == NL80211_IFTYPE_MESH_POINT ||
--                  sdata->vif.type == NL80211_IFTYPE_OCB))
-+      if ((sdata->vif.type == NL80211_IFTYPE_MESH_POINT &&
-+          !is_multicast_ether_addr(eth->h_dest)) ||
-+          (sdata->vif.type == NL80211_IFTYPE_OCB && sta))
-               qos = true;
-       else if (sta)
-               qos = sta->sta.wme;