mac80211: fix fallback to macaddr
authorJohn Crispin <john@openwrt.org>
Wed, 28 Jan 2015 12:07:08 +0000 (12:07 +0000)
committerJohn Crispin <john@openwrt.org>
Wed, 28 Jan 2015 12:07:08 +0000 (12:07 +0000)
If '/sys/class/ieee80211/phyN' is not a symlink, the call to readlink
produces either an empty path (if /sys/class/ieee80211/phyN/device doesn't
exist) or a path that begins with '/sys/class/ieee80211' (which does not
work with the subsequent line to strip '/sys/devices' from the beginning of
the path).  Modify the checks to detect these conditions, and fallback to
using the macaddr.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
SVN-Revision: 44172

package/kernel/mac80211/files/lib/wifi/mac80211.sh

index 0b662eb4b113b08d7f8555cac5bf065b6b05af77..a7c4d2dbc2bce08b95ee3f5bbaf86a6d01180a2f 100644 (file)
@@ -94,8 +94,12 @@ detect_mac80211() {
 
                [ -n $htmode ] && append ht_capab "     option htmode   $htmode" "$N"
 
-               if [ -x /usr/bin/readlink ]; then
+               if [ -x /usr/bin/readlink -a -h /sys/class/ieee80211/${dev} ]; then
                        path="$(readlink -f /sys/class/ieee80211/${dev}/device)"
+               else
+                       path=""
+               fi
+               if [ -n "$path" ]; then
                        path="${path##/sys/devices/}"
                        dev_id="        option path     '$path'"
                else