qcacld-3.0: Support transmit addr for roam pre-auth
When roam from SAE legacy to SAE MLO, pre-auth TA is MLD address, while peer AP expects link address, pre-auth fails. Parse transmit address field from firmware roam_preauth_start_event and include it when send NL80211_EXTERNAL_AUTH_START to wpa supplicant for SAE roaming cases. If transmit address is all zeros, wpa_supplicant will not do ML sae auth, use MLD address as TA. If transmit address is not zeros, wpa_supplicant will do ML sae auth, use 'transmit address' as TA. Since self peer is created with mld address, when roam from legacy to MLO, try to get peer by mld address during pre-auth tx since bss peer absent, or TX fails for no peer. Change-Id: I99ed846e94165bfe01e1d1e8c620f035751c7056 CRs-Fixed: 3289987
This commit is contained in:

committed by
Madan Koyyalamudi

parent
815b1c0827
commit
76b7b34cdd
@@ -3234,6 +3234,8 @@ extract_auth_offload_event_tlv(wmi_unified_t wmi_handle,
|
||||
|
||||
WMI_MAC_ADDR_TO_CHAR_ARRAY(&rso_auth_start_ev->candidate_ap_bssid,
|
||||
auth_event->ap_bssid.bytes);
|
||||
WMI_MAC_ADDR_TO_CHAR_ARRAY(&rso_auth_start_ev->transmit_addr,
|
||||
auth_event->ta.bytes);
|
||||
if (qdf_is_macaddr_zero(&auth_event->ap_bssid) ||
|
||||
qdf_is_macaddr_broadcast(&auth_event->ap_bssid) ||
|
||||
qdf_is_macaddr_group(&auth_event->ap_bssid)) {
|
||||
@@ -3241,8 +3243,11 @@ extract_auth_offload_event_tlv(wmi_unified_t wmi_handle,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
wmi_debug("Received Roam auth offload event for bss:"QDF_MAC_ADDR_FMT" vdev_id:%d",
|
||||
QDF_MAC_ADDR_REF(auth_event->ap_bssid.bytes), auth_event->vdev_id);
|
||||
wmi_debug("Received Roam auth offload event for bss:"
|
||||
QDF_MAC_ADDR_FMT " ta:" QDF_MAC_ADDR_FMT " vdev_id: %d",
|
||||
QDF_MAC_ADDR_REF(auth_event->ap_bssid.bytes),
|
||||
QDF_MAC_ADDR_REF(auth_event->ta.bytes),
|
||||
auth_event->vdev_id);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
Reference in New Issue
Block a user