Currently for FISA aggregated RX frame, one skb will contain 2~16
RX msdu, if only count 1 RX msdu into stats, BW vote is not right
that even if RX T-put > 1 Gbps, wlan only vote 4(high), this can not
satisfy the vote requirement for peak T-put > 2 Gbps which should be
5(very high) which then degrade the T-put.
Fix RX packets stats correctly for aggregated RX frame.
Change-Id: Idd0cee1b68555dedad49025c03a13a929ec2af1c
CRs-Fixed: 2838667
Modify IEs for 6 GHz processing.
Country IE - Make the first triplet mandatory and keep
rest of the triplets as optional as 6ghz channels are
denoted by operating class/subband sequence and the
triplet field will have details about it.
transmit_power_env IE - Rename vht_transmit_power_env to
transmit_power_env and add 3 new subfields-
Max tx_pwr_count - indicates the number of local max tx
power For X MHz fields (where X = 20, 40, 80, or 160/80+80)
minus 1 in max tx pwr field of the TPE element.
Max tx_pwr_interpret - indicates the contents of max tx power
field (local EIRP, Local EIRP PSD etc) and interpretation of
the max tx power count field.
Max tx_pwr_category - indicates a category for which max
tx powers apply. A value of 0 indicates the default category;
the interpretation of other values depends on the country.
HE Ops IE - Addition of a 3-bit subfield Regulatory info,
reg_info indicates TYPE of the 6GHZ AP that is carrying this
IE in the beacon: this would typically be SP, LPI or VLP.
Change-Id: If6fbb8a92a6f80b6bcf18906494d08ff048d68a4
CRs-Fixed: 2822657
In moselle, once wow enabled there is a possibility that wow wake
interrupt can be fired from FW during runtime suspend in progress
in host, this will introduce a race between runtime suspend and
resume, so adding a synchronization between runtime suspend and
wow triggered runtime resume.
Change-Id: I19a4d70f47d5c202d0ba291c3edc8a260690f434
CRs-Fixed: 2845670
Currently driver does not update he and ht rate flags correctly
in wma as rate flags should include all the subsets of the
lower rate sets, which is not the case today and driver only
updates the higher rate flag. Because of which it leads to
invalid computation of txrate at the kernel.
To address this issue, update he and ht rate flags correctly in
wma.
change-Id: I6ec68af1f75650990384efbd61536042329665b2
CRs-Fixed: 2837245
Enable 10th bit of CFG_BTM_ENABLE ini to forward BTM request
frame to upper layers when frame contains MBO assoc retry
attribute. when supplicant receives this MBO frame it will
use the frame info for blacklisting the AP so for the next
connection framework will avoid this AP.
Change-Id: I9a675cc01769c38ad5be26ea5fd28ada8dc03546
CRs-Fixed: 2843323
Dual mac configuration is static from wlan module
start to module stop, no need to update for each
adapter starting.
To reduce the time cost on starting adapter, add
a flag to indicate the status of dual mac config,
skip the update request if it's been updated.
Change-Id: I033cda08173503d133a06eca617655d1cefe4d0d
CRs-Fixed: 2839192
Currently pmo_psoc_get_vdev api just returns the vdev without
taking the vdev reference and it is caller's responsibility to
take the reference, there could be a race condition where after
getting the vdev and before getting the reference of that vdev,
some other thread may delete this vdev.
To avoid this issue use objmgr api to get the vdev for pmo.
Change-Id: I3495589e2dbbb7d8efc579a62fff1a08a92c318f
CRs-Fixed: 2771211
Currently the DMA mask is set as a part of hif enable
which is called after the datapath memory pre-alloc.
As a part of datapath pre-alloc even dma memory is
pre-alloced, which is attempted with a default dma
mask of 32, since no mask is set by the driver.
To fix this, set the dma mask before datapath memory
pre-allocation is done.
Change-Id: Id850cbd28e2ea88aa68779867db2cb3c9d9a7856
CRs-Fixed: 2845019
When RSO stop is sent to firmware, if reason is disconnect
or driver internally disabled roam, the Roam scan mode should
be 0, but driver is sending value as 4. This causes firmware
to have roam offload registered on 2 vdevs for targets where
simultaneous roaming is not enabled.
Pass the proper reason code to fill roam scan mode config
while sending RSO stop.
Change-Id: I0bc3674526663742cc3c3fc85076698f3dcaa197
CRs-Fixed: 2833353
When host receives ap capability change indication,
internal disconnection is triggered from csr without
sending stop roaming (RSO stop) to fw. So in STA+STA
scenario, after connection on 1st sta, roaming will
be enabled on 2nd sta, but since RSO stop was not sent
on 1st sta, firmware will assert as btm offload is not
disabled at the 1st STA.
Disable roaming first, followed by vdev stop/vdev down to
firmware.
Change-Id: I183b590b36ecfd81150bb59c33c4752c718c93ba
CRs-Fixed: 2798081
FISA FSE cache flushing is not allowed after PCIe bus suspended,
add function to support FISA FSE cache flushing disable/enable.
Change-Id: I4371e2941a4d2b590fa66db8390135f2620b54a3
CRs-Fixed: 2841740
FW considers 9th bit of CFG_BTM_ENABLE for btm query
with candidate list which is not mentioned in ini
documentation.
Change-Id: I4fefdaa464e14c350d885107a28051fa0ad309f0
CRs-Fixed: 2839587
RSN CAP isn't needed and set when set IE for WAPI connection, if last
connection is WPA2, vdev crypto params rsn caps is set, it need to be
cleared, or RSN CAP is set for WAPI, WAPI connection may fail.
change-Id: I2120751576b0ab260077e013ef88428238e53896
CRs-Fixed: 2841012
Problem scenario:
1) Host gets roam event from FW and RSO state is switched to
ROAM_IN_PROGRESS.
2) Host gets reassoc response followed by FW down indication.
3) Host processes reassoc response in HDD and sends disassoc to
FW as FW down indication received.
4) As a part of disassoc host tries to switch RSO state to STOP.
But as present RSO state is ROAM_IN_PROGRESS and FW is down,
host fails to send RSO stop command to FW and doesn't switch
RSO state to STOP.
5) Lim disassoc send fails due to FW is down and host proceeds
with lim_send_disassoc_cnf and lim_cleanup_rx_path.
6) In lim_cleanup_rx_path() host checks for present RSO state is
ROAM_IN_PROGRESS and returns without calling lim_del_sta();
7) Thus peer delete and vdev delete is not send to FW and host
vdev State machine stuck at SP-SUSPEND_DOWN which leads to
peer and vdev reference leaks.
Fix:
Allow switch to RSO stop state while present RSO state is
ROAM_IN_PROGRESS.
Change-Id: I4a838ecd98a7ca377cd557d7a01a93ac53449595
CRs-Fixed: 2844647
Currently when the FW is down, runtime resume return success
status but does not send the power exit and WOW wake up from
sleep command to FW. So WMI_WOW_SET_ACTION_WAKE_UP_CMDID
command is sent to FW which leads to panic.
To avoid this issue, send the correct error status for runtime
resume if FW is down.
CRs-Fixed: 2830614
Change-Id: Id27d2648427b32d32c15370fbb170fafec9450d2
Nbuf allocation failure is observed when refill rx buffers
due to momentary low memory.
To fix this, enable feature Rx prealloc buffer pool.
Change-Id: I111d84f3ad5b33024e6add4bed7561ae58e1a018
CRs-Fixed: 2841734
Currently, lim silently drops the association if it fails to
post ASSOC_IND due to some reason(e.g. invalid contents of
assoc request) and the MLM state is stuck in
eLIM_MLM_WT_ASSOC_CNF_STATE. Station context is not cleaned up
till the next association. Gracefully cleanup the association
in such failure cases.
Change-Id: Iede43a1ddc4ac6ef300af02776b153b58dd70c2c
CRs-Fixed: 2810235
Currently while turning on WiFi, driver is getting hdd_ctx first and
then waiting for driver load to complete. This may lead to use after
free access if there is a probe fail during the driver load.
To avoid this, get hdd_ctx after driver load is complete.
Change-Id: I90132a3cf8eb8047d0854f781dbe968bccef94cf
CRs-Fixed: 2839442
It doesn't free resources in failed cases like getting vdev or tdls
vdev object when handling tdls commands. This causes reference
count of psoc leak or memory leak. Following are the functions,
tdls_set_responder
tdls_notify_sta_connect
tdls_notify_sta_disconnect
tdls_set_operation_mode
tdls_reset_all_peers
Change-Id: I8b5d5fa8a137a1b07f0fa6e4667047db95d7b99e
CRs-Fixed: 2839099
There are CSA IE/beacon template cmd with duplicate IE COUNT: 10.
And interval of 2nd IE COUNT: 10 and IE COUNT: 9 is much less than
100 ms.
Radar is triggered, tried to switch to channel 11, but set
target chan id 11 as frequency 11 wrongly, frequency 11 is illegal
and disabled, then switch to new freq: 2412 again.
Change-Id: Id2e5823795ae2f61e6d7cbbbc91c4f485ddeceb3
CRs-Fixed: 2838113
Taking minimun of proto generic nss and dynamic
nss is only valid for STA as proto generic nss
is minimum of self capability and peer AP
capability. So, while fetching nss for SAP,
it is returning as 0.
So, in case of SAP don't take minimum of proto
generic nss with dynamic nss in case of SAP.
Change-Id: I82fabd346da11087d6c6a2123faa52f0a55adf35
CRs-Fixed: 2836723
Currently, previous pre_cac work is not being flushed before starting
a new pre_cac work. This may result in use after free access if a
new pre_cac request comes when cleanup in progress for previous
pre_cac work.
To avoid this, flush existing pre_cac work before handling a new
pre_cac request.
Change-Id: I2da535acce8b4a097214597bbc2169ca5521db57
CRs-Fixed: 2841644
Currently rate flags are fetched from adapter before updating new
rate flags. Due to OR condition previous rate flags may not
overwrite and may provide different bandwidth and rate based than
actual params.
Fix is not to consider previous rate flags while updating new rates.
Change-Id: Ic6123858b0560141d1a8f3d366c3c5be95fd2fc9
CRs-Fixed: 2830204
Periodically request pdev stats from FW to receive channel noise floor
information after monitor vdev has been brought up, based on the band
currently being sniffed. Use the band information as a secondary parameter
when sending periodic request to fw so a single noise floor value is sent
to host. Pass this noise floor information to dp_pdev to be populated in
radiotap header.
Change-Id: I488e4985392cb646ffdee914359fa995dbeb025e
CRs-Fixed: 2833458
For NAN connection, mlmStaContext.he_capable in sta_ds isn't filled in
lim_add_ndi_peer, can use lim_is_session_he_capable for BA window size.
Change-Id: I66a4611da164789bcbaadebf33ab3082bf6835b9
CRs-Fixed: 2829593
Idle shutdown is running in Thread 1 and in parallel suspend
request comes which is getting executed in thread 2. As a part
of idle shutdown the CE buffers are freed.As a result of this
WoW Ack is not reaped which leads to panic.
To avoid this issue, flush the idle shutdown delayed work before
proceeding for suspend.
CRs-Fixed: 2839296
Change-Id: I449bb1960776bf3d60e329a189b7bad998929240