[openwrt/openwrt] mac80211: fix detecting highest radio* config section index

LEDE Commits lede-commits at lists.infradead.org
Fri Oct 14 04:19:00 PDT 2022


nbd pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/db9c4a066aadef7be304ab4bdb44f31eac5fbc0d

commit db9c4a066aadef7be304ab4bdb44f31eac5fbc0d
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Mon Oct 10 13:26:32 2022 +0200

    mac80211: fix detecting highest radio* config section index
    
    Deal with gaps by iterating over existing sections instead of counting
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 package/kernel/mac80211/files/lib/wifi/mac80211.sh | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/package/kernel/mac80211/files/lib/wifi/mac80211.sh b/package/kernel/mac80211/files/lib/wifi/mac80211.sh
index 6aa46b0c74..c46498b0d4 100644
--- a/package/kernel/mac80211/files/lib/wifi/mac80211.sh
+++ b/package/kernel/mac80211/files/lib/wifi/mac80211.sh
@@ -135,14 +135,19 @@ get_band_defaults() {
 	done
 }
 
+check_devidx() {
+	case "$1" in
+	radio[0-9]*)
+		local idx="${1#radio}"
+		[ "$devidx" -ge "${1#radio}" ] && devidx=$((idx + 1))
+		;;
+	esac
+}
+
 detect_mac80211() {
 	devidx=0
 	config_load wireless
-	while :; do
-		config_get type "radio$devidx" type
-		[ -n "$type" ] || break
-		devidx=$(($devidx + 1))
-	done
+	config_foreach check_devidx wifi-device
 
 	for _dev in /sys/class/ieee80211/*; do
 		[ -e "$_dev" ] || continue




More information about the lede-commits mailing list