From: Felix Fietkau Date: Mon, 10 Oct 2022 11:26:32 +0000 (+0200) Subject: mac80211: fix detecting highest radio* config section index X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=db9c4a066aadef7be304ab4bdb44f31eac5fbc0d;p=openwrt%2Fstaging%2Fblocktrron.git mac80211: fix detecting highest radio* config section index Deal with gaps by iterating over existing sections instead of counting Signed-off-by: Felix Fietkau --- 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