mt76: mt76x0: disable GTK offloading

When the GTK is offloaded, MT7610 won't transmit any multicast frames.
This is most likely due to a bug in the offloading datapath. MT7612 is
not affected.

Disable GTK offloading for now. It can be re-enabled once the bug in the
offloading path is fixed.

Signed-off-by: David Bauer <mail@david-bauer.net>
This commit is contained in:
David Bauer 2020-06-13 20:08:13 +02:00
parent baa53b4d8b
commit 2891454f16
1 changed files with 49 additions and 0 deletions

View File

@ -0,0 +1,49 @@
From: David Bauer <mail@david-bauer.net>
Date: Sat, 13 Jun 2020 19:19:17 +0200
Subject: mt76: mt76x0: disable GTK offloading
When the GTK is offloaded, MT7610 won't transmit any multicast frames.
This is most likely due to a bug in the offloading datapath. MT7612 is
not affected.
Disable GTK offloading for now. It can be re-enabled once the bug in the
offloading path is fixed.
Signed-off-by: David Bauer <mail@david-bauer.net>
diff --git a/package/kernel/mt76/patches/001-mt76-mt76x0-disable-gtk-offloading.patch b/package/kernel/mt76/patches/001-mt76-mt76x0-disable-gtk-offloading.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e7e19ac957dbfaa9510016d3387abe9eed353538
--- /dev/null
+++ b/package/kernel/mt76/patches/001-mt76-mt76x0-disable-gtk-offloading.patch
@@ -0,0 +1,30 @@
+From ae01717951013fbc8bb0315d902d5b9f5873631a Mon Sep 17 00:00:00 2001
+From: David Bauer <mail@david-bauer.net>
+Date: Fri, 12 Jun 2020 01:09:57 +0200
+Subject: [PATCH] mt76: mt76x0: disable GTK offloading
+
+When the GTK is offloaded, MT7610 won't transmit any multicast frames.
+This is most likely due to a bug in the offloading datapath. MT7612 is
+not affected.
+
+Disable GTK offloading for now. It can be re-enabled once the bug in the
+offloading path is fixed.
+
+Signed-off-by: David Bauer <mail@david-bauer.net>
+---
+ drivers/net/wireless/mediatek/mt76/mt76x02_util.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/mt76x02_util.c
++++ b/mt76x02_util.c
+@@ -432,6 +432,10 @@ int mt76x02_set_key(struct ieee80211_hw
+ !(key->flags & IEEE80211_KEY_FLAG_PAIRWISE))
+ return -EOPNOTSUPP;
+
++ /* MT76x0 GTK offloading is currently broken */
++ if (is_mt76x0(dev) && !(key->flags & IEEE80211_KEY_FLAG_PAIRWISE))
++ return -EOPNOTSUPP;
++
+ /*
+ * In USB AP mode, broadcast/multicast frames are setup in beacon
+ * data registers and sent via HW beacons engine, they require to