wifi: ath12k: Skip DP peer creation for scan vdev
Consider a multi-link AP configuration:
MLD vif (MAC addr: aa:bb)
|-- 2.4 GHz link (BSSID: aa:bb)
|-- 5 GHz link (BSSID: cc:dd)
For AP vdevs, ath12k creates a DP peer using the arvif's BSSID and stores
it in dp_hw->dp_peers_list. During scan operations, the driver assigns an
arvif to the scan vdev and uses the vif's MAC address as its BSSID. In
the above scenario, the scan vdev MAC address (aa:bb) matches the BSSID
of the 2.4 GHz AP link, causing a duplicate entry in dp_hw->dp_peers_list
and leading to scan vdev creation failure.
Failure in vif bringup sequence:
1. Create AP vdev for 2.4 GHz link:
- Assign arvif with BSSID = aa:bb and link_id = 0.
- Create DP peer with address aa:bb and add to dp_hw->dp_peers_list.
2. Create scan vdev for 5 GHz link:
- Assign arvif with BSSID = aa:bb (same as vif MAC address) and
link_id = 15.
- Attempt to create another DP peer with address aa:bb.
- Operation fails because aa:bb already exists in dp_hw->dp_peers_list,
resulting in duplicate entry conflict.
3. Delete scan vdev for 5 GHz link.
4. Create AP vdev for 5 GHz link.
Since DP peer is not needed for scan operations, identify scan vdev using
arvif->link_id >= IEEE80211_MLD_MAX_NUM_LINKS and skip DP peer creation
and deletion.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.5-01651-QCAHKSWPL_SILICONZ-1
Signed-off-by: Ripan Deuri <quic_rdeuri@quicinc.com>
Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20251207072717.95542-1-quic_rdeuri@quicinc.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>