diff options
-rw-r--r-- | package/kernel/mac80211/files/lib/wifi/mac80211.sh | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/package/kernel/mac80211/files/lib/wifi/mac80211.sh b/package/kernel/mac80211/files/lib/wifi/mac80211.sh index a3b2199507..0b662eb4b1 100644 --- a/package/kernel/mac80211/files/lib/wifi/mac80211.sh +++ b/package/kernel/mac80211/files/lib/wifi/mac80211.sh @@ -19,9 +19,11 @@ lookup_phy() { local macaddr="$(config_get "$device" macaddr | tr 'A-Z' 'a-z')" [ -n "$macaddr" ] && { - for _phy in $(ls /sys/class/ieee80211 2>/dev/null); do - [ "$macaddr" = "$(cat /sys/class/ieee80211/${_phy}/macaddress)" ] || continue - phy="$_phy" + for _phy in /sys/class/ieee80211/*; do + [ -e "$_phy" ] || continue + + [ "$macaddr" = "$(cat ${_phy}/macaddress)" ] || continue + phy="${_phy##*/}" return done } @@ -65,7 +67,12 @@ detect_mac80211() { [ -n "$type" ] || break devidx=$(($devidx + 1)) done - for dev in $(ls /sys/class/ieee80211); do + + for _dev in /sys/class/ieee80211/*; do + [ -e "$_dev" ] || continue + + dev="${_dev##*/}" + found=0 config_foreach check_mac80211_device wifi-device [ "$found" -gt 0 ] && continue |