Re: [PATCH ath-next v3] wifi: ath12k: advertise interface MAC address pool
From: Vitor Soares
Date: Tue Sep 22 2026 - 05:32:57 EST
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@xxxxxxxxxxx>
> >
> > 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@yk-Mayan:/home/yk# sudo iw dev wlo1 interface add wlo2 type station
> root@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?
Best regards,
Vitor