[PATCH ath-next v3] wifi: ath12k: advertise interface MAC address pool

Kang Yang kang.yang at oss.qualcomm.com
Tue Sep 22 03:34:48 PDT 2026



On 9/22/2026 5:29 PM, Vitor Soares wrote:
> On Tue, 2026-09-22 at 14:13 +0800, Kang Yang wrote:
>>
>>
>> On 9/22/2026 1:30 AM, Vitor Soares wrote:
>>> From: Vitor Soares <vitor.soares at toradex.com>
>>>
>>> ath12k supports creating vdevs with addresses provided by mac80211.
>>> Userspace can already make concurrent interfaces work by explicitly
>>> assigning different locally administered addresses.
>>>
>>> However, ath12k does not advertise an address list, so when a second
>>> interface is created without an explicit address, mac80211 has nothing
>>> to pick from and falls back to the permanent address. If the first
>>> interface is already running with that address, bringing up the second
>>> one fails with -ENOTUNIQ.
>>>
>>> As in ath11k, provide a list of usable addresses so
>>> ieee80211_assign_perm_addr() can hand each new interface an unused one.
>>> Keep the first entry as the wiphy's permanent MAC address. Generate the
>>> remaining entries as locally administered variants by changing only the
>>> upper nibble of the first octet, which naturally limits the pool to 16
>>> unique addresses.
>>>
>>> The cfg80211 definition of wiphy->addresses does not specify where the
>>> addresses must come from. Some ath12k platforms use it as an interface
>>> MAC address pool, while others use it for firmware-provided per-radio
>>> addresses. Gate the generated address pool behind
>>> advertise_iface_mac_pool and enable it for WCN7850 and QCC2072.
>>>
>>> Other platforms keep the existing behavior.
>>>
>>> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c7-00108-
>>> QCAHMTSWPL_V1.0_V2.0_SILICONZ_UPSTREAM-3
>>>
>>
>>
>>
>> I just did test on QCC2072:
>>
>> root at yk-Mayan:/home/yk# sudo iw dev wlo1 interface add wlo2 type station
>> root at yk-Mayan:/home/yk# sudo iw dev wlo1 interface add wlo3 type station
>> phy#0
>>           Interface wlo3
>>                   ifindex 6
>>                   wdev 0x3
>>                   addr 22:03:7f:12:be:cd
>>                   type managed
>>
>>           Interface wlo2
>>                   ifindex 5
>>                   wdev 0x2
>>                   addr 12:03:7f:12:be:cd
>>                   type managed
>>
>>           Interface wlo1
>>                   ifindex 4
>>                   wdev 0x1
>>                   addr 00:03:7f:12:be:cd
>>                   type managed
>>
>>
>>
>>
>> Tested-on: QCC2072 hw1.0 PCI
>> WLAN.COL.1.0.c2-00074-QCACOLSWPL_V1_TO_SILICONZ-1
>>
> 
> Thanks for testing this on QCC2072.
> 
> I've added the QCC2072 Tested-on line for v4. Could you reply with your Tested-
> by so I can pick it up?
> 

Tested-by: Kang Yang <kang.yang at oss.qualcomm.com>


> 
> Best regards,
> Vitor




More information about the ath12k mailing list