Sfoglia il codice sorgente

mac80211: fix fallback to macaddr

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 <[email protected]>

SVN-Revision: 44172
John Crispin 10 anni fa
parent
commit
e0aaac8434
1 ha cambiato i file con 5 aggiunte e 1 eliminazioni
  1. 5 1
      package/kernel/mac80211/files/lib/wifi/mac80211.sh

+ 5 - 1
package/kernel/mac80211/files/lib/wifi/mac80211.sh

@@ -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