Set OCV capability based on Association Request frame RSNE
Currently, OCV self-capability is being set into the RSN supplicant state machine only during the initial connection and never getting updated. But for the driver-SME cases the driver may enable/disable OCV in (Re)Association Request frame RSNE based on the AP chosen to roam. This will lead to missing synchronization between wpa_supplicant and the driver. Thus, update OCV self-capability in the wpa_supplicant RSN state machine based on the (Re)Association Request frame RSNE indicated in the connect response. Signed-off-by: Aleti Nageshwar Reddy <quic_anageshw@quicinc.com>
This commit is contained in:
parent
e8706c109e
commit
dc7e330e0b
1 changed files with 8 additions and 1 deletions
|
@ -2844,8 +2844,10 @@ static int wpa_supplicant_use_own_rsne_params(struct wpa_supplicant *wpa_s,
|
|||
p += len;
|
||||
}
|
||||
|
||||
if (!found || wpa_parse_wpa_ie(p, len, &ie) < 0)
|
||||
if (!found || wpa_parse_wpa_ie(p, len, &ie) < 0) {
|
||||
wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_OCV, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
wpa_hexdump(MSG_DEBUG,
|
||||
"WPA: Update cipher suite selection based on IEs in driver-generated WPA/RSNE in AssocReq",
|
||||
|
@ -2872,6 +2874,11 @@ static int wpa_supplicant_use_own_rsne_params(struct wpa_supplicant *wpa_s,
|
|||
return -1;
|
||||
}
|
||||
|
||||
if (((wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME) ||
|
||||
(wpa_s->drv_flags2 & WPA_DRIVER_FLAGS2_OCV)) && ssid->ocv)
|
||||
wpa_sm_set_param(wpa_s->wpa, WPA_PARAM_OCV,
|
||||
!!(ie.capabilities & WPA_CAPABILITY_OCVC));
|
||||
|
||||
/*
|
||||
* Update PMK in wpa_sm and the driver if roamed to WPA/WPA2 PSK from a
|
||||
* different AKM.
|
||||
|
|
Loading…
Reference in a new issue