When DUT SAP assoc rsp tx complete failed, assoc failed, should send
disassoc and remove the sta peer, or hostapd will add a fake
peer and send EAPOL to it until timeout. When timeout, host will send
deauth to the peer which will stop new connecting from peer.
Change-Id: I9dc72bec2c67c93bd9749df30e93a0526796ee49
CRs-Fixed: 2779345
Add ini he_mcs_12_13_support which will be used to enable
or disable 4K QAM MCS rates.
This ini can be used to set. MCS 12 and 13 for 2.4Ghz and
5Ghz. First 16 bits(0-15) is for 2.4ghz and next 16 bits
is for 5Ghz. Of 16 bits the higher, first 8 bits represent
BW less than or equal 80Mhz (<= 80Mhz) and higher 8 bits
represent BW greater than 80Mhz (> 80Mhz). nth bit in octet
represents support for nth NSS [n=1:8].
Def value is 0xFFFFFFFF which enable MCS 12 and 13 for all
NSS and BW.
Also, enable 4K QAM MCS only when this ini is enabled and
firmware also supports it.
Change-Id: I8375203735d8b07ef4ff86be2213da127be4e556
CRs-Fixed: 2762230
Remove wlan_reg_chan_to_freq due to channel ambiguity.
For some legacy channel if from ini or OTA, replace it with
wlan_reg_legacy_chan_to_freq.
Change-Id: Ia59f150d36262e21d13b7e815f599d94c3f28676
CRs-Fixed: 2776235
Do ipa tx buffer map after registering IPA ready
callback with IPA driver. Otherwise ipa_is_ready
flag always is false while calling cds_smmu_map_unmap
from htt_tx_ipa_uc_wdi_tx_buf_alloc, and then
it will not really make tx buffer map take effect
Change-Id: Ib2fee8e5b68d5ba06c8079d39c0a5695087cbc2b
GRO queue more pkts is enabled in bus vote low, when
bus vote back to idle, these frames may not flushed to
stack, use force flush to reduce latency.
Change-Id: I22b5cf994fe02b7e3156a845ee13a5acbf791b22
CRs-Fixed: 2774662
Change default value of gEnableTDLSSupport, gEnableTDLSScan
and gEnableTDLSImplicitTrigger 1
Change-Id: Ic6559a5f77b1d46bc48647c283327a12c409d873
CRs-Fixed: 2783560
In case two clients try to establish the TDLS connection simultaneously,
the peer who is able to transmit the setup request first will be
connected and the other request is in driver without notifying the peer.
This causes peer to get stuck waiting for the TDLS setup response. So,
send TDLS setup response with unspecified failure reason code, ift here
is already TDLS setup.
Also, drop the setup response only if status code is zero in case setup
is already in progress. This way if the status code is set which will be
set in tdls_activate_add_peer(), in case of request already in process,
the same error code can be notified to the peer.
Change-Id: I83fea4586d6e344a86a9185b078e4d87ec38c664
CRs-Fixed: 2771973
Currently, sta_ctx->hdd_reassoc_scenario is set when ROAM_FT_START
and cleared when ROAM_SET_KEY_COMPLETE. But for some roaming case,
no KEY exchange happen after roaming complete. Then this flag
is not cleared, which cause failure to get station stats in
wlan_hdd_get_sta_stats, such as RSSI info. To address this, clear
sta_ctx->hdd_reassoc_scenario when handling
ROAM_ASSOCIATION_COMPLETION.
Change-Id: I0b96246afe227023fd52df93f27bed23ffd7cb1c
CRs-Fixed: 2763178
The array size of 'channels' in struct channel_list_info
is CFG_VALID_CHANNEL_LIST_LEN, which may smaller than
NUM_CHANNELS, function 'iw_get_channel_list()' may attempt
to access element CFG_VALID_CHANNEL_LIST_LEN..NUM_CHANNELS
of array 'channels'.
To make align, fix array size of 'channels' to NUM_CHANNELS,
and refine 'iw_get_channel_list_with_cc()'.
CRs-Fixed: 2777780
Change-Id: Ie064322f14186310a769db2642e69c8a520f1b26
Enable low_tput GRO skip logic in 5.4 kernel based GRO.
It is required to always flush listified normal Rx frames at end of
context. Skip flush for GRO rx at low TPUT.
So it requires flush to be aware of low TPUT, hence pass the flush code
to DP GRO flush.
Change-Id: I20c1efcc7bbe0aa50f350ebc31eaefbbefd69616
CRs-Fixed: 2745763
To send the vdev delete to firmware, all the references needs to
be released, so on receiving the iff_down from the userspace,driver
is currently draining the peer management frames which are queued
to the firmware, if the firmware is active it can access these
drained frames resulting in system instability.
Drain the management frames only when the driver is recovering.
Change-Id: Ia7a83088cde857c7111f8dff9e18422257fc8cb8
CRs-Fixed: 2778328
Reduce default value of gMaxLIModulatedDTIM from 10 to 5
to shorten the listen interval. It provides better
connectivity when AP has a large DTIM Period or
Beacon Interval.
Also, move the ini definition to sta header file from
sap header file.
Change-Id: I9661c6fc623949cf8b260043e8da7448b496d57f
CRs-Fixed: 2780070
In the process of rso update config, need to send roam
scan_mode/deauth/idle/trigger commands when rso enabled.
Another fix is to call csr_cm_roam_scan_offload_fill_rso_configs()
with ROAM_SCAN_OFFLOAD_STOP in wlan_cm_roam_fill_stop_req().
Change-Id: Ibcc2ab5d7da1bf838b386e0e1e486cd43072225a
CRs-Fixed: 2779549
Supplicant disabled flag is used to skip the RSO stop command
sending to FW as RSO stop aborts the roaming in FW. Do not reset
the flag in the reassoc call from user space to complete the
roaming in FW by not sending the RSO stop command.
Change-Id: I1cda88d24942d60ca98b497ddbbbea3a5fc52a56
CRs-Fixed: 2771009
While initial connection with SPMK AP1 supplicant generates
PMK1, and DUT updates global mlme single pmk entry and
csr session pmk.
Now DUT roam to non-SPMK AP2 and generates PMK2, Global mlme
single pmk has SPMK AP1 PMK1 and csr_roam_session has non-SPMK
AP2 since FULL SAE happen.
Now Roam back to SPMK AP1, since the Full SAE does not happen
and due to check roam_synch_data->authStatus ==
CSR_ROAM_AUTH_STATUS_AUTHENTICATED in
csr_process_roam_synch_callback(). The lookup and update
csr_roam_session code is not hit and driver don’t update
csr session pmk after roaming to SPMK AP. So after roam sync complete,
csr_check_and_set_sae_single_pmk_cap() updates the global mlme
single pmk with session->psk_pmk. This results DUT uses PMK generated
from a Non-Single PMK supported AP in the ReAssoc Request frame
while Roaming to Single PMK supported AP.
Fix is to allow driver to update session->psk_pmk even in case
Full SAE does not happen.
Change-Id: Ie4f06cfcb066ae245de024b62da586aade783aec
CRs-Fixed: 2761771
Enable beaconing for 160 MHz BW when all the channels
are non-DFS. Addition of new 5.9 GHz channels 169, 173,
and 177 has created a new 160 MHz BW channel bonding
pair (149-177) and beacons can be sent out from SAP
for this pair.
Change-Id: Ifd222a01a5058cf02d6e1d819da9d213eb0fd9ca
CRs-Fixed: 2778707
Check for the Moselle bus type whether the selfrecovery ini is enabled,
if the ini is disabled let the system enter to bad state and debug
the issue.
Change-Id: Ib6e720bbc8d1421706a5631ecc7d11989538e2d5
CRs-Fixed: 2780882
Enable feature to send EXIT_POWER_SAVE QMI from host instead of
HOST_WAKEUP_FROM_SLEEP WMI. When FW receive EXIT_POWER_SAVE QMI,
it will implicitly consider that it also received HOST_WAKEUP_FROM_SLEEP
and send ACK for it through CE2.
Change-Id: I14515b62ff3ff1b4ed66397039ce180a99d49d43
CRs-Fixed: 2779383
As part of WOW feature in WCN6750, send HOST wake up
to FW over QMI instead of WMI. To send HOST wake, add
PLD layer and call platform driver API to send QMI
EXIT_POWER_SAVE to FW.
When FW receive EXIT_POWER_SAVE QMI, it will implicitly
consider that it also received HOST_WAKEUP_FROM_SLEEP
and send ACK for it through CE2.
Change-Id: Ia0a3f4c15662f9ee58649f5c6de965f65aeafe32
CRs-Fixed: 2779370
The 11ax cap and oper IE presence debug printing in the following
functions are not bringing any useful info for debugging:
sir_convert_probe_req_frame2_struct
sir_convert_probe_frame2_struct
sir_convert_assoc_resp_frame2_struct
so remove them to reduce driver log verbosity.
Change-Id: I2afc96e39dbf5ae30ca1c6a3d803064ee018a8aa
CRs-Fixed: 2781096
During probe IPA SMMU S1 enable check will pass only if IPA
registration for ready callback is successful and IPA ready
callback is invoked.
This ensures that IPA APIs are not invoked unless IPA ready
callback is invoked and ipa ready flag is set in the host
driver.
Change-Id: Ie157a2f851bb1e914a098b62ede1280aa0243d19
CRs-Fixed: 2778504
The peer objmgr pointer in the if_mgr_roam module may be NULL if
there is no peer connected. Add check to see if pointer is NULL
before dereferencing it. Also modify logic to only check if the
vdev is in STA or P2P_CLI mode.
Change-Id: I7370ca5b9c74bd81f6e958cf740b6ee426f4faad
CRs-fixed: 2779831
Broadcast TWT is disabled by overwriting the user
configuration. Remove the overwrite to enable the
broadcast TWT.
Change-Id: I79742eaaa61236f92526435ec4a59e75829cf0fb
CRs-Fixed: 2780168