Fisa packet history is around 6KB for each sw fisa
flow entry and this is part of the dp_fisa_rx_sw_ft
structure. The total size of the SW FT as a result is
around 830KB and the higher order memory allocation via
kzalloc for this could fail in low/fragmented memory
scenarios.
Fix is to allocate memory for FISA pkt history separately
and attach it to the SW FT entry.
Change-Id: I7296d7269c1b86ec38ea1668e8a0893335bbdb6f
CRs-Fixed: 2934487
Add entries to pre-allocate memory region for
recording datapath rx refill ring history.
Change-Id: Icbb6d59b834ea7b8957406e68be72bf3072389bf
CRs-Fixed: 2930011
TDLS pkts statistics API cost 10% CPU cycle of whole RX
thread. It's optimized in another change from TDLS team to
remove excessive lock/unlock. So original change is not needed.
Change-Id: Ica1dd6bf8a94a4bef6045b07228bd547aeda3a00
CRs-Fixed: 2930306
If STA Country Code is US and if AP Country IE has a different
county code, STA should not allow connection to this AP as VLP
mode is not implemented yet in the US.
If STA Country Code is GB and if AP Country IE has a different
county code, STA will use VLP mode.
Change-Id: I7d247ae9fc83d7b578b01ec664247c807f7834fc
CRs-Fixed: 2933632
Reject the below TWT commands while scan is in progress:
1. TWT setup
2. TWT pause
3. TWT resume
4. TWT Nudge
Also convert the wmi status code for scan in progress
to vendor status.
Change-Id: I2b5c2cdd23a3172913e122b5c8fd04f4bb5c3e1e
CRs-Fixed: 2923282
set_wifi_config vendor command is missing the policy configuration
for the OPTIMIZED_POWER_MANAGEMENT attribute. Thus, add the attribute
to set_wifi_config's policy table.
Change-Id: Ia4d205ceea59a1d557bd646ff064ff340066c12a
CRs-Fixed: 2933377
Stop the BW monitoring and stats collection for IPA before
disabling the pipes. Add this to the the case where WLAN
is in SSR and IPA pipes are being disabled when last client
is disconnecting.
Change-Id: I29e8ec6d73287cf601f829e74ba03aa611564d3a
CRs-Fixed: 2922079
If STA is present on non-preferred channel i.e. 12, 13, 14 and SAP
ACS channel list is 1-11 then MCC is preferable as SAP don't want
to come up on non-preferable channel.
Change-Id: I82bd707c26258e0bf0b7cc14657185d11f56f757
CRs-Fixed: 2922824
Tx MPDU aggregation is not happening in HE80 11ax connection
resulting in low throughput for HST.
Fix is to enable TX_AGGREGATION_SIZE_ENABLE for HST.
Change-Id: Ieca8464991a6a194d6f02b70fe4972aca288b541
CRs-Fixed: 2925514
Host need set tx_aggr_size_disable bit when host tx aggregation is
unsupported.
Change-Id: I0c86e74f6447f401d24660e1291abf969b1abbe6
CRs-Fixed: 2931245
Only send the VHT TX beamforming capability if firmware has set the
support bit. This helps ensure backward compatibility for older
products.
Change-Id: Ia5830c9f378e3f0ddc83c8019d5168a270ad6f69
CRs-fixed: 2933687
Enable SAE authentication for P2P. This allows to process and
forward the SAE auth frames to userspace in P2P_CLI and
P2P_GO modes.
Change-Id: I210f6b3db4d4d0a39f1dcb7f136ec9ac7e4c34c4
CRs-Fixed: 2933379
In the validate beacon interval logic, there are a few calls to get the
vdev MLME object from the interface manager component. However,
the component does not have a vdev object, so get it from the MLME
component instead.
Change-Id: I7333edeb6f1f0d5669605fe9e3d4fb10745d1fa4
CRs-fixed: 2928798
Move the beacon interval validation logic from the CSR module to the
interface manager module.
Add a path to send events to the SAP event handler from the MLME
module.
Change-Id: Ia86f219b3f209b53e7818a80f95b2c0555550736
CRs-fixed: 2796676
Always decrement tdls_soc_obj->set_state_info.set_state_cnt
in case TDLS is disconnected due to STA disconnection
triggered as part of SSR.
If it is not, then for SSR, after the system restarts,
this count is used and can be interpreted as second
tdls connection.
Currently, multiple tdls links are not supported, so
TDLS set state CMD (WMI_TDLS_SET_STATE_CMDID) won't be
sent to fw, although peer create and peer assoc will
go to firmware which results in crash.
Change-Id: Ib764cd04a04fab237840cdffafa9752fbe202418
CRs-Fixed: 2931199
Currently, the AP power type is only decided when the start AP
notification comes. Since ACS occurs before start AP, the power mode is
always the default of LPI. This could cause a SAP start issue if ACS
selects a frequency that is not valid for the updated power mode. Move
the call to select the power mode before either logic is invoked.
Change-Id: I6265dc242a8fae9174dc7efcf7154bdb2cf82a47
CRs-fixed: 2928987
Modify few ring and descriptor sizes for prealloc
to support the maximum values configured via ini.
Change-Id: Ifc2976c3f9ab271c7740d4a97470d455a8ee1ba7
CRs-Fixed: 2929143
There is a mismatch between host and fw for the input paramters of
TPUT DEBUG command.
To address the above issue send the fw expected value.
Change-Id: I15e14863c373d849d11eff90b75085cb451053c9
CRs-Fixed: 2928515
In the current implementation of the function wlan_hdd_get_peer_stats,
if the status returned by the call cdp_host_get_peer_stats is not
successful, then it returns from the function without freeing the
memory allocated to peer_stats. This causes a memory leak. To avoid
this issue, free the memory properly before returning from the function.
Change-Id: Ia002be4cf6c0b93eba2dc65d96d63e6c0eafad90
CRs-Fixed: 2932487
Since the ll_stats buffer is allocated during debugfs file open
it needs to be freed in file release but, DSC vdev op-protection is
not needed for releasing the buffer. Adding DSC protection will lead
to resource leak because DSC will reject file release op call
if it is in the middle of vdev/psoc/driver transition.
Hence, properly free the ll_stats memory during file release.
Change-Id: Id4c5ee99283a16232b0756341c4422f6f4397667
CRs-Fixed: 2931104
Intra vdev operations was moved to interface
manager component as part of the connection
manager FR. Cleanup the legacy code in HDD
and SME because interface manager is component/
functionality is enabled by default on mainline.
Change-Id: I6aebec6b47231484dc61e8c9bb3956ea19d09b5e
CRs-Fixed: 2844047
Currently, NDI is started in 11AC mode through the API
hdd_ndi_start_bss(). Max supported mode(e.g. 11AX) is picked by
csr_roam_get_phy_mode_band_for_bss() if either of the "ini param
gDot11Mode" or "input profile mode" is set to AUTO.
But if the ini param gDot11Mode is configured as 12(11AX)
explicitly, csr_roam_get_phy_mode_band_for_bss() picks the mode
sent by hdd_ndi_start_bss() which is 11AC(or the min out of
these two).
So, start the NDI in AUTO mode to let the mode be decided based
on the ini param gDot11Mode and firmware support.
Change-Id: I404ea7a4e042262032c17e5c736501146910d084
CRs-Fixed: 2931071
Allocation failed as flow table size is huge.
To Fix this, moved the ft table to prealloc memory.
Change-Id: I27ee62b1bcfced563f45cb80e11978cb3dd46183
CRs-Fixed: 2926899
In case of TDLS peer connected if SSR happen, LIM try to flush
TDLS peer with del_sta->respReqd as false.
With respReqd false del_sta is freed in the switch case, but
is used outside the switch case, leading to use after free.
Fix is to use the local vdev_id instead of del_sta->smesessionId.
Change-Id: I7e08733cf42ef619b3fa0d6726ee1acc2012c6a4
CRs-Fixed: 2929448
Currently single request context is used for NAN discovery and NDP.
If NAN disable request is sent to the FW and FW sends NDP end
indication and didn't send NAN disable indication. In this case,
wait event for NAN disable indication will be completed as part of
NDP end indication. This is because same request context is used for
both NAN discovery and NDP.
To resolve this, use separate request for NAN discovery and NDP.
Change-Id: Ic42e32c5cfd818188ca96d6cba3cbec1ed85a3ec
CRs-Fixed: 2921287
Send QCA_WLAN_VENDOR_ATTR_TWT_STATS_STATUS attribute in
the driver TWT get stats NL response.
Change-Id: I7c447a8d2841f3bb0143f9ac6f957b1f78fa1e21
CRs-Fixed: 2923086
If in SAP peer keep on connecting and disconnecting without
completing the EAPOL (e.g. due to wrong password), scan logic will
assume that EAPOL is in progress for long time and assert.
To fix this false alarm reset scan reject params on peer connect
and disconnect.
Change-Id: I067b5be39504651ffe4e29e1cc927ad0bc3a06c0
CRs-Fixed: 2928817