mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-11 00:04:33 +08:00
ath6kl: use custom MAC address for newly created interfaces
Firmware and driver generate MAC addresses for the second and third interfaces. In addition to the existing algorithm, flip bit 7 of 5th octet. Since both firmware and driver individually generate the MAC addresses, introduce a new firmware capability bit to keep them compatible. Signed-off-by: Aarthi Thiruvengadam <athiruve@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
parent
85b20fc242
commit
c95dcb595d
@ -3523,9 +3523,13 @@ struct wireless_dev *ath6kl_interface_add(struct ath6kl *ar, const char *name,
|
||||
vif->htcap[IEEE80211_BAND_5GHZ].ht_enable = true;
|
||||
|
||||
memcpy(ndev->dev_addr, ar->mac_addr, ETH_ALEN);
|
||||
if (fw_vif_idx != 0)
|
||||
if (fw_vif_idx != 0) {
|
||||
ndev->dev_addr[0] = (ndev->dev_addr[0] ^ (1 << fw_vif_idx)) |
|
||||
0x2;
|
||||
if (test_bit(ATH6KL_FW_CAPABILITY_CUSTOM_MAC_ADDR,
|
||||
ar->fw_capabilities))
|
||||
ndev->dev_addr[4] ^= 0x80;
|
||||
}
|
||||
|
||||
init_netdev(ndev);
|
||||
|
||||
|
@ -118,6 +118,9 @@ enum ath6kl_fw_capability {
|
||||
/* Firmware supports filtering BSS results by RSSI */
|
||||
ATH6KL_FW_CAPABILITY_RSSI_SCAN_THOLD,
|
||||
|
||||
/* FW sets mac_addr[4] ^= 0x80 for newly created interfaces */
|
||||
ATH6KL_FW_CAPABILITY_CUSTOM_MAC_ADDR,
|
||||
|
||||
/* this needs to be last */
|
||||
ATH6KL_FW_CAPABILITY_MAX,
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user