After successful roam synch indication received in 802.1x/WPA3
security roaming, the peer will not be in authorized state since
EAP/EAPOL handshake is handled at the supplicant. Simultaneously
there is continuous vdev pause/unpause events from firmware, so
EAP handshake fails and EAP timeout kicks-in at supplicant and
disconnect is triggered. But on new connection the
hdd_reassoc_scenario flag is not reset, so
__wlan_hdd_cfg80211_ll_stats_get always returns failure and the
framework displays low rssi even though the connected AP rssi
is good.
Reset the hdd_reassoc_scenario flag after any disconnection.
Change-Id: I7b00fef86fa37d6e7ab857be1750add142f7e647
CRs-Fixed: 2752022
Use ROAM_11KV_CTRL WMI vdev command to enable/disable the roaming
functionality in FW.
Change-Id: If3bb344ec7058d4149d0064975d7c91f213fd105
CRs-Fixed: 2727671
Packet log and Monitor mode features cannot coexist, since both
share common ring resources concurrent access is not expected.
so don't enable packet log when device is in monitor mode.
Change-Id: Ibb3ed6dc36e5797c654c37fc567eb89bdaa1ea39
CRs-Fixed: 2745973
During SAP stop in CAC wait time, if peer are connected to SAP,
the peers are not deleted leading to peer leak.
Fix is to continue with disconnect in lim_process_mlm_disassoc_req_ntf
and lim_process_mlm_deauth_req_ntf as lim_send_deauth_mgmt_frame
and lim_send_disassoc_mgmt_frame already have code for not sending
deauth OTA during CAC time.
Change-Id: I33580f35cbe5bf9c0558fbd6138235a2a1edc645
CRs-Fixed: 2750966
FW only needs chainmask configuration one time before vdev start.
If set chainmask configuration in restart, the side effect is
OMN action frame will be sent by FW before channel switch count is
changing to 1 or 0 in SAP interface. Data/Action frame OTA is not
allowed in this timeframe according to VHT-4.2.16h certification
test.
Fix by set chainmask only for vdev start.
Change-Id: I6c2e8da351b18b521db0a946bb7ea64ab071c314
CRs-Fixed: 2742126
Current parameter passed to lim_get_crypto_digest_len will be either
SHA386 or SHA256, won't return -EINVAL in any case.
For later considering, return 0 if parameter not the 2 crypto types.
Change-Id: I6cd7481a06106138df7ba18fbe9ed4eece246607
CRs-Fixed: 2751809
With the newly introduced BLM enhancement, APs may get enlisted
and sent to FW for (re)assoc restraint. However, the FW side
AP restraint is only required when LFR3 is enabled.
With LFR2, no FW side AP (re)assoc restraint is required and all
actions will be done within driver code.
Use LFR3 specific conditional macro to enclose all the code
needed for sending reject AP list to FW.
Change-Id: I9a8bc0e25bc4b319bf1841324ef1b711f0659093
CRs-Fixed: 2751791
Currently there are 2 places where max number of keep live pattern
are defined:
1. #define WMA_MAXNUM_PERIODIC_TX_PTRNS 6
And it can be configured by CONFIG_CFG_MAX_PERIODIC_TX_PTRNS.
2. #define MAXNUM_PERIODIC_TX_PTRNS 6
And it is hard coded value.
It is possible to have different values defined on some platform,
so we might give tgt_cfg->num_keep_alive_pattern value as 2,
but still allow more than 2 keep alive patterns adding to target,
where assert might happen.
Fix it by defining max number of keep alive pattern at one place.
Change-Id: I70ec3fa2e56a39cf8086750d966d95e41b2b75a7
CRs-Fixed: 2745443
Update the STA+CLI+SAP cocurrency in 2x2 PCL tables according
to STA+GO+SAP concurrency PCL.
Change-Id: I292881f463613b5b38ccfff42bf1509396bdb472
CRs-Fixed: 2749425
In Case device is in suspending, if there is a disconnection,
disconneciton may fail as wmi cmd is not able to send to fw.
Add synchronization resume before disconnection as a protection.
Change-Id: I250d3a86183a61629e9369f49209c5a058a9a9a1
CRs-Fixed: 2746816
Current implementation of external mode requires supplicant to
send tdls peer mac address. On matching of stats tdls implict
link procedure is triggered for configured peer.
Fix, to allow both configured peer and other peer that supports
tdls to establish the tdls link.
Change-Id: If7cb10986126db28979293653b1bc2a92c3f72eb
CRs-Fixed: 2750191
In WAPI conenction the check for WAPI authmode is missing.
And thus AKM filles in open mode leading to not seinding the WAPI
IE in assoc req and thus Assoc reject.
Fix by properly handling the WAPI case.
Change-Id: Ic7b7b7e5ffce46e30ade20395406287e1b5a5fce
CRs-Fixed: 2744415
Req has been freed in csr_roam_send_rso_cmd when post msg failed.
Avoid use after free and double free in csr_post_rso_stop.
Change-Id: I86e6360eed1a57d0bac218f799393fff0e2a4a58
CRs-Fixed: 2748399
Since tdls_implicit_enable will be called in different scenarios, and
there is error level output if repeated start same timer. So check
the state before starting tdls timer.
Change-Id: Id023affa016f337286dad539298a9bbc15381091
CRs-Fixed: 2747370
Host sends the WLAN_MSG_WLAN_STATUS_IND to WiFi Location Service(WLS) via
cnss daemon which includes supported channels. WLS service is yet not 6GHz
capable. Hence to limit the 2.4GHz/5GHz channels only in
WLAN_MSG_WLAN_STATUS_IND introduce new INI "wls_6ghz_capable".
Change-Id: I77b284d2025601fec72aa35d430f18865f15f247
CRs-Fixed: 2748489
Send HT ie's to FW in AUTO, 11N, 11AC and 11AX modes.
Send VHT ie's to FW in AUTO, 11C, and 11AX modes.
Send HE ie's to FW in AUTO and 11AX modes.
Change-Id: I0ed7b0108593ee20540d4e5da2c1461a4a15e8fc
CRs-Fixed: 2748761
Enable packetdump_timer related operations only when
following conditions are met:
1. WLAN_LOGGING_SOCK_SVC_ENABLE is defined.
2. FEATURE_PKTLOG is defined.
3. REMOVE_PKT_LOG is not defined.
CRs-Fixed: 2747430
Change-Id: I47575ff184345884c47fe91922236bb4a3db420b
Initialize chan_id with 0 in struct wifi_pos_ch_info since it
is obsoleted by channel frequency.
Change-Id: I8228ffc0cce33dcaaa73c29cca5760ff2dbfd8fd
CRs-Fixed: 2749395
In WMI_TDLS_SET_OFFCHAN_MODE_CMDID the offchannel freq is set to invalid
value due to uninitialized local tdls_channel_switch_params type variable
resulting in fw reading incorrect non zero offchanel freq.
Fix, to zero initialize the local tdls_channel_switch_params variable.
Change-Id: Ia7d6daac098a179a22676620875a2b0d6488a8ad
CRs-Fixed: 2739267
If wma_send_msg_high_priority failed to send msg, msg body is freed,
can't access later.
Move wma_delete_sta_req_sta_mode and log to avoid use after free.
Duplicate MLME_IS_ROAM_SYNCH_IN_PROGRESS is called in 3 functions in
same stack, clean up it.
Change-Id: I28b7cc9f12902aefa37bf1345c94ec6f0b581297
CRs-Fixed: 2748407
As per requirement, send a value of an INI "roam_score_delta" to FW
through WMI_ROAM_ENABLE_DISABLE_TRIGGER_REASON_CMDID.
Change-Id: I9a2087f83c2eb95338d440dc901bd8aa246f7e5f
CRs-Fixed: 2740552
Since sme_ps_enable_auto_ps_timer will be called in
different scenarios, and there is error level output
if trying to start it when it's already started.
To avoid the useless error log, check the state
before starting this timer.
CRs-Fixed: 2747427
Change-Id: If119da266a991b6b5990ad3077e41c2bba11a798
On some cases, dp_rx_thread can not handle nbufs in time,
then a large number of packets are pending in
rx_thread->nbuf_queue, which run out of system memory at
last and failed to malloc new buffers for refill buffer ring,
fw crash is encountered. To avoid this, drop RX packets when
the pending number becomes large.
Change-Id: Ie4e001dc584821cf68253aa3a15a5fd72394c736
CRs-Fixed: 2737181