From db9c4a066aadef7be304ab4bdb44f31eac5fbc0d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 10 Oct 2022 13:26:32 +0200 Subject: mac80211: fix detecting highest radio* config section index Deal with gaps by iterating over existing sections instead of counting Signed-off-by: Felix Fietkau --- package/kernel/mac80211/files/lib/wifi/mac80211.sh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'package/kernel') 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 -- cgit v1.2.3