Skip to content

Commit 0b23f89

Browse files
authored
mac80211: silence mesh rate mismatch warning (#3416)
Printing a warning everytime a rate mismatch is detected is a bit to much. With many mesh neighbors, this quickly results in the kernel log being spammed with these messages. Signed-off-by: David Bauer <[email protected]>
1 parent a475b19 commit 0b23f89

File tree

1 file changed

+21
-15
lines changed

1 file changed

+21
-15
lines changed

patches/openwrt/0007-net-mac80211-override-incompatible-basic-rates-for-mesh.patch

+21-15
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,29 @@ From: David Bauer <[email protected]>
22
Date: Mon, 6 Jan 2025 08:30:35 +0100
33
Subject: net: mac80211: override incompatible basic-rates for mesh
44

5+
This is a dirty hack for Gluon.
6+
7+
We assume basic rate setup only affects the rate-controller on the TX
8+
side. As all devices we support have at least a 802.11n radio and thus
9+
cover 802.11b as well as 802.11g on 2.4 GHz, they are compatible with
10+
each other.
11+
12+
As the basic rate was incorrectly set for mesh interfaces in the past,
13+
connections between mesh neighbors would fail when altering the basic
14+
rate.
15+
16+
This patch ignores mismatches in the basic-rate field. By doing so, we
17+
avoid implementing some sort of scheduled switch between wireless
18+
configurations.
19+
520
Signed-off-by: David Bauer <[email protected]>
621

722
diff --git a/package/kernel/mac80211/patches/subsys/995-net-mac80211-override-incompatible-basic-rates-for-m.patch b/package/kernel/mac80211/patches/subsys/995-net-mac80211-override-incompatible-basic-rates-for-m.patch
823
new file mode 100644
9-
index 0000000000000000000000000000000000000000..19ca64d5012d2974ab2a48e9363ecaa3b60aed4c
24+
index 0000000000000000000000000000000000000000..efcf0b4f041bb21184e9cd997bc6caca4729a1fe
1025
--- /dev/null
1126
+++ b/package/kernel/mac80211/patches/subsys/995-net-mac80211-override-incompatible-basic-rates-for-m.patch
12-
@@ -0,0 +1,46 @@
27+
@@ -0,0 +1,37 @@
1328
+From 091e1eea9e34db7cbf84379021fcbff82887e09a Mon Sep 17 00:00:00 2001
1429
+From: David Bauer <[email protected]>
1530
+Date: Mon, 6 Jan 2025 08:23:54 +0100
@@ -35,24 +50,15 @@ index 0000000000000000000000000000000000000000..19ca64d5012d2974ab2a48e9363ecaa3
3550
+ net/mac80211/mesh.c | 7 +++++--
3651
+ 1 file changed, 5 insertions(+), 2 deletions(-)
3752
+
38-
+diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c
39-
+index 25223184d6e5..53b5339be5d0 100644
4053
+--- a/net/mac80211/mesh.c
4154
++++ b/net/mac80211/mesh.c
42-
+@@ -92,8 +92,11 @@ bool mesh_matches_local(struct ieee80211_sub_if_data *sdata,
55+
+@@ -94,9 +94,6 @@ bool mesh_matches_local(struct ieee80211
4356
+ ieee80211_sta_get_rates(sdata, ie, sband->band,
4457
+ &basic_rates);
4558
+
4659
+- if (sdata->vif.bss_conf.basic_rates != basic_rates)
4760
+- return false;
48-
++ if (sdata->vif.bss_conf.basic_rates != basic_rates) {
49-
++ wiphy_warn(sdata->wdev.wiphy,
50-
++ "ignoring basic rate mismatch for peer (local=%x peer=%x)\n",
51-
++ sdata->vif.bss_conf.basic_rates, basic_rates);
52-
++ }
53-
+
54-
+ cfg80211_chandef_create(&sta_chan_def, sdata->vif.bss_conf.chandef.chan,
61+
+-
62+
+ cfg80211_chandef_create(&sta_chan_def, sdata->vif.bss_conf.chanreq.oper.chan,
5563
+ NL80211_CHAN_NO_HT);
56-
+--
57-
+2.45.2
58-
+
64+
+ ieee80211_chandef_ht_oper(ie->ht_operation, &sta_chan_def);

0 commit comments

Comments
 (0)