Update peer HT/VHT width for wideband such as:
1. Wideband is restricted to 80 MHz if APs BW
is less than 80 MHz, if selfdot11mode is 11ac.
2. STA follows AP BW in all other HT/VHT cases
Change-Id: I9346a692582c322c10e36fe6679e38ec8acbb440
CRs-Fixed: 3234946
PASN authentication M1 should be initiated by I-STA.
Driver requests for the initiation of PASN auth from
wpa supplicant only for I-STA mode. For R-STA mode, M1
will be received from peer I-STA.
So update wifi pos module after peer create only for I-STA mode
and skip that for R-STA mode.
Change-Id: I09ac53bcd50cb012ad8cd5d351b91e6fb017c77d
CRs-Fixed: 3170770
With introduction of TDLS on 6 GHz, some of the channels
that peer can support will be same for 6 GHz band other
bands. So, extract frequency by using peer supported
operating class and supported channel list which can
be used for further processing.
If channel numbers are used then the duplicate channel
numbers are removed which may lead to skipping 6 GHz
supported channels.
Change-Id: Ic6838d05c3dab5a0cc17483890b83805e076684c
CRs-Fixed: 3233999
After WLAN_TWT_CONV_SUPPORTED enabled, TWT variables are moved from
COMP_MLME to COMP_TWT, APIs are updated too, hdd_update_tgt_twt_cap
just intersects enable_twt and twt_requestor of COMP_TWT instead of
COMP_MLME, legacy variable mlme_cfg->he_caps.dot11_he_cap.twt_request
isn't controlled by ini enable_twt now.
Change-Id: I71bb09704fd96591f37019ebbb77733cff04af25
CRs-Fixed: 3229121
Add regulatory notify event when wifi ON by GUI.
In new framework test, When turning on Wi-Fi, it is
expecting driver to indicate NL80211_CMD_[WIPHY]_ REG_CHANGE
event with country code to wificond.
Change-Id: Icb0bdec097db14905de6234573d05fffbe0e4500
CRs-Fixed: 3186188
User space timestamping tool expecting Tx packet send time
in Monotonic time and host is sending Tx packet send time in
Qtime.
Currently Qtime is always higher than System monotonic time,
This change is to calculate the drift between Qtime and
System monotonic time during tsf init and adjust calculated
drift to each Tx packet send Qtime to make Qtime and
System monotonic time are in sync.
Change-Id: Ibd686d5fdea6ebcbc0fe5b37c4211cb8dd073d76
CRs-Fixed: 3230594
hdd_config_wds_repeater_mode should be called if the vdev is roaming.
Otherwise, WDS does not work after roaming.
Also deliver peer authorize to SON if the vdev is roaming.
Change-Id: If6c660a5fd3e2c493d8d100cdbfa562404018aba
CRs-Fixed: 3193596
Currently in driver, for non-DBS hw mode, null peer is released in the
function ndi_remove_and_update_primary_connection. This causes null
pointer deferencing.
To fix this, add null peer check before releasing the peer.
CRs-Fixed: 3184390
Change-Id: Ia895c8487082e0fac6e7df63d3694fa3e152b355
Userspace may send RSNXE also in connect request irrespective
of the connecting AP capabilities to allow the driver to chose
best candidate based on score. But the chosen candidate may
not support the RSNXE feature and may not advertise RSNXE
in beacon/probe response. Station is not supposed to include
the RSNX IE in assoc request in such cases as legacy APs
may misbehave due to the new IE. It's observed that few
legacy APs which don't support the RSNXE reject the
connection at EAPOL stage. So, strip the IE if AP doesn't
support/advertise the RSNXE to avoid sending the RSNXE to
legacy APs.
Change-Id: Ia7dee29792718a6514da44b13b36b46586ef25ab
CRs-Fixed: 3228057
BTM and EAPOL events are sent through the vendor event to
the supplicant
Modify the BTM and EAPOL event log flow through the diag
event to the supplicant in order to maintain single
logging infrastructure
Change-Id: I1e21d1192be059cc48189bc57aacbc314d5297bc
CRs-Fixed: 3219065
Roam Diag logs are sent through the vendor event to the supplicant.
Modify the Roam Scan start and Roam Candidate log flow through
the diag event to the supplicant in order to maintain single
logging infrastructure.
Change-Id: Idd85b46f72a481aa99e243c81952010d2779afaf
CRs-Fixed: 3218639
Currently, host is overwriting 2 GHz capabilities by 5 GHz
which is causing to send same capabilities for both bands.
To solve this:
1. Send HE and EHT capabilities by band.
2. While populating the eht mcs and nss,
for 2 GHz, only populate values for BW upto 80 MHz
for 5 GHz, populate BW upto 320 MHz
3. Send correct eht cap length.
Change-Id: I9bbad81341b49e4a98b3fcccadd162e82d93d11e
CRs-Fixed: 3225630
Use frequency instead of chan num for processing TDLS offchannel
req for preferred offchannel.
Since, after introduction of TDLS on 6 GHz band it is better to
process offchannel in frequency instead of channel numbers as
some of the channel numbers are repeated for 6 GHz.
Change-Id: Icd7084b9f3c407ad0ad104b7f0d2230e31e0b10d
CRs-Fixed: 3234920
In api wlan_connectivity_mgmt_event(), the connecting status
is checked for every instance of wlan_connectivity_mgmt_event
resulting in excessive printing of wlan_cm_is_vdev_connecting
logs.
Add check to verify connection status for STA/CLI mode which
results in trimming of wlan_cm_is_vdev_connecting() logs.
Change-Id: I33d8d91e58a38b8998183e20bbf455ff94855c6d
CRs-Fixed: 3211801
For EAP 802.1x AP, when host received roam sync, just reassociated, RSO
is still stopped to wait EAPOL handshake finished, if nud failure is
handled, roaming is failed to invoke and disconnect happens.
To fix it, don't handle nud failure during EAPOL handshake.
Change-Id: Ia3a9e989ea16443fa157834ef9d4ceb247f82e24
CRs-Fixed: 3233058
Currently in some cases we are returning
enum of type rx_pkt_fate instead of qdf_dp_tx_rx_status
Fix issue by returning correct enum type.
Change-Id: I97c67003178fd5347de57c1b78602177696e0973
CRs-Fixed: 3234233
In sch_gen_timing_advert_frame, the memory allocated for buffer
timing_advert->template_value is freed but not reset to NULL.
This creates a dangling pointer, and it is freed again inside
__wlan_hdd_cfg80211_ocb_start_timing_advert.
To avoid this issue, reset the pointer to buffer
timing_advert->template_value to NULL before returning from
sch_gen_timing_advert_frame.
Change-Id: I2445c53f217d0fd22cbe3026b0869284fe13b851
CRs-Fixed: 3229906
Enable monitor status buffer tracking history.
Also enable the allocation of memory for the monitor
status buffer tracking history via prealloc.
Change-Id: Iafec8e68c85b3f2d9b0bf0523a19b7a32869e20a
CRs-Fixed: 3229689
ll_stats are not fit into current buffer sizeof
12288 bytes to write into debugfs
Increase the LL_STATS buffer size i.e DEBUGFS_LLSTATS_BUF_SIZE
from 3 pages to 4 pages for single vdev case also double the
buffer size for MLO case.
Change-Id: Idcae0816de0a29ae92a821623d3d2e8c4f33bdf8
CRs-Fixed: 3214694
In multiple AKM suite roaming scenario, if the STA is
roaming from WPA3 to WPA2 AKM suite, during the roam sync the
rso config will have the PMK of previous WPA3 connection. The
RSO start for the new connection would plumb the PMK of WPA3 to
the FW. After the RSO is enabled, set_key from userspace will
update the proper PMK of the current WPA2 to the FW via
RSO Update.
Due to a race condition, the set_key from userspace can reach
driver before the RSO start is sent to the FW. In this case,
the RSO update(due to set_key) will fail. Therefore, the FW
will keep the WPA3 PMK(in RSO start) as the final PMK for
the WPA2 connection, leading to roam failures.
To fix this, if the set_key for the connected bssid is
received during Roam sync in progress, then mark the
set_key rejection in vdev and send RSO update to the
FW after RSO gets enabled.
Change-Id: Ibb5a4929212e6c2ccabf39136962d3a8e606ece9
CRs-Fixed: 3212800