From 866790fd827cb0187353cdf484eb46a9b38fb6ba Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Wed, 15 Jan 2020 13:54:28 +0100 Subject: [PATCH] mac80211: fix MAC address allocations if the local bit is set on the base addr If it's set, don't subtract 1 from the interface index encoded into the first byte of the address Signed-off-by: Felix Fietkau --- package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh index b0fc5fb37b..7ac0ce8aac 100644 --- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh +++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh @@ -393,7 +393,7 @@ mac80211_generate_mac() { [ "$((0x$mask1))" -gt 0 ] && { b1="0x$1" [ "$id" -gt 0 ] && \ - b1=$(($b1 ^ ((($id - 1) << 2) | 0x2))) + b1=$(($b1 ^ ((($id - !($b1 & 2)) << 2) | 0x2))) printf "%02x:%s:%s:%s:%s:%s" $b1 $2 $3 $4 $5 $6 return }