From db9c4a066aadef7be304ab4bdb44f31eac5fbc0d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 10 Oct 2022 13:26:32 +0200 Subject: [PATCH] mac80211: fix detecting highest radio* config section index Deal with gaps by iterating over existing sections instead of counting Signed-off-by: Felix Fietkau --- .../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 6aa46b0c747..c46498b0d40 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 -- 2.30.2