mt76: fix mt7603 compilation
authorRafał Miłecki <rafal@milecki.pl>
Sat, 18 May 2024 12:56:58 +0000 (14:56 +0200)
committerRafał Miłecki <rafal@milecki.pl>
Sat, 18 May 2024 12:58:39 +0000 (14:58 +0200)
This fixes:
mt7603/dma.c: In function 'mt7603_rx_loopback_skb':
mt7603/dma.c:60:17: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]

Fixes: 2568b30285ff ("mt76: backport mt7603 fixes important for its stability")
Fixes: https://github.com/openwrt/openwrt/issues/15510
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
package/kernel/mt76/Makefile
package/kernel/mt76/patches/0009-mt76-mt7603-fix-mixed-declarations-and-code.patch [new file with mode: 0644]

index 22269277da0c4c2c5a465abe0ab5314393293088..9957c99999fa54538cbb5f0f44b9928db3ba89cb 100644 (file)
@@ -1,7 +1,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mt76
-PKG_RELEASE=2
+PKG_RELEASE=3
 
 PKG_LICENSE:=GPLv2
 PKG_LICENSE_FILES:=
diff --git a/package/kernel/mt76/patches/0009-mt76-mt7603-fix-mixed-declarations-and-code.patch b/package/kernel/mt76/patches/0009-mt76-mt7603-fix-mixed-declarations-and-code.patch
new file mode 100644 (file)
index 0000000..92befe4
--- /dev/null
@@ -0,0 +1,33 @@
+From 513c131c6309712a51502870b041f45b4bd6a6d4 Mon Sep 17 00:00:00 2001
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 17 May 2024 13:51:22 +0200
+Subject: [PATCH] mt76: mt7603: fix mixed declarations and code
+
+Move the qid variable declaration further up
+
+Fixes: b473c0e47f04 ("wifi: mt76: mt7603: fix tx queue of loopback packets")
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+ mt7603/dma.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/mt7603/dma.c
++++ b/mt7603/dma.c
+@@ -29,7 +29,7 @@ mt7603_rx_loopback_skb(struct mt7603_dev
+       struct ieee80211_sta *sta;
+       struct mt7603_sta *msta;
+       struct mt76_wcid *wcid;
+-      u8 tid = 0, hwq = 0;
++      u8 qid, tid = 0, hwq = 0;
+       void *priv;
+       int idx;
+       u32 val;
+@@ -57,7 +57,7 @@ mt7603_rx_loopback_skb(struct mt7603_dev
+       if (ieee80211_is_data_qos(hdr->frame_control)) {
+               tid = *ieee80211_get_qos_ctl(hdr) &
+                        IEEE80211_QOS_CTL_TAG1D_MASK;
+-              u8 qid = tid_to_ac[tid];
++              qid = tid_to_ac[tid];
+               hwq = wmm_queue_map[qid];
+               skb_set_queue_mapping(skb, qid);
+       } else if (ieee80211_is_data(hdr->frame_control)) {