|
@@ -869,11 +869,21 @@ static QDF_STATUS cm_connect_get_candidates(struct wlan_objmgr_pdev *pdev,
|
|
|
uint8_t vdev_id = wlan_vdev_get_id(cm_ctx->vdev);
|
|
|
bool security_valid_for_6ghz;
|
|
|
const uint8_t *rsnxe;
|
|
|
+ uint8_t wsc_oui[OUI_LENGTH];
|
|
|
+ uint32_t oui_cpu;
|
|
|
+ bool is_wps = false;
|
|
|
|
|
|
filter = qdf_mem_malloc(sizeof(*filter));
|
|
|
if (!filter)
|
|
|
return QDF_STATUS_E_NOMEM;
|
|
|
|
|
|
+ oui_cpu = qdf_be32_to_cpu(WSC_OUI);
|
|
|
+ qdf_mem_copy(wsc_oui, &oui_cpu, OUI_LENGTH);
|
|
|
+ if (wlan_get_vendor_ie_ptr_from_oui(wsc_oui, OUI_LENGTH,
|
|
|
+ cm_req->req.assoc_ie.ptr,
|
|
|
+ cm_req->req.assoc_ie.len))
|
|
|
+ is_wps = true;
|
|
|
+
|
|
|
rsnxe = wlan_get_ie_ptr_from_eid(WLAN_ELEMID_RSNXE,
|
|
|
cm_req->req.assoc_ie.ptr,
|
|
|
cm_req->req.assoc_ie.len);
|
|
@@ -881,7 +891,8 @@ static QDF_STATUS cm_connect_get_candidates(struct wlan_objmgr_pdev *pdev,
|
|
|
wlan_cm_6ghz_allowed_for_akm(wlan_pdev_get_psoc(pdev),
|
|
|
cm_req->req.crypto.akm_suites,
|
|
|
cm_req->req.crypto.rsn_caps,
|
|
|
- rsnxe, cm_req->req.sae_pwe);
|
|
|
+ rsnxe, cm_req->req.sae_pwe,
|
|
|
+ is_wps);
|
|
|
|
|
|
/*
|
|
|
* Ignore connect req if the freq is provided and its 6Ghz and
|