aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-07-13 11:39:48 +0000
committerFelix Fietkau <nbd@openwrt.org>2013-07-13 11:39:48 +0000
commitc97fd7bf1113a6f79526d4a87a8d2b6a6654dbb1 (patch)
tree502b15b3434a97222360c9b1369b6b51c423412a /package
parent21201be1f4a0b915ef8c32ae34afefff58d4f42c (diff)
downloadmaster-187ad058-c97fd7bf1113a6f79526d4a87a8d2b6a6654dbb1.tar.gz
master-187ad058-c97fd7bf1113a6f79526d4a87a8d2b6a6654dbb1.tar.bz2
master-187ad058-c97fd7bf1113a6f79526d4a87a8d2b6a6654dbb1.zip
mac80211: tweak mac address allocation
Apparently there are some broken devices out there that have the local bit already set in the factory MAC address. Move the | 0x2 over to the other side of the xor operation to fix this without affecting devices with proper addresses. Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37269 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r--package/kernel/mac80211/files/lib/wifi/mac80211.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/package/kernel/mac80211/files/lib/wifi/mac80211.sh b/package/kernel/mac80211/files/lib/wifi/mac80211.sh
index a052a1cbfb..20f6bfa93c 100644
--- a/package/kernel/mac80211/files/lib/wifi/mac80211.sh
+++ b/package/kernel/mac80211/files/lib/wifi/mac80211.sh
@@ -284,7 +284,7 @@ mac80211_generate_mac() {
[ "$((0x$mask1))" -gt 0 ] && {
b1="0x$1"
[ "$id" -gt 0 ] && \
- b1=$((($b1 | 0x2) ^ (($id - 1) << 2)))
+ b1=$(($b1 ^ ((($id - 1) << 2) | 0x2)))
printf "%02x:%s:%s:%s:%s:%s" $b1 $2 $3 $4 $5 $6
return
}