Currently in driver at load time if probe fails because
of any reason, as part of FW down, recovery in progress
flag is getting set which is getting reset only in re-init
path. Now when probe starts again as this was load time
failure, this flag is set and there are checks at many
places for this flag in driver where we just don't proceed
further if this flag is set.
One such example of such incident is reg_process_master_chan_list
api where regulatory event is not getting processed because this
flag is set.
To resolve this issue reset recovery in progress flag during probe.
There is no harm in resetting the flag during probe as probe start
indicates that FW is ready.
Change-Id: Ib681870f869060f4511563aa3255aeb0eb8f9f12
CRs-Fixed: 2365416
If ecsa timeout is active and stop bss is received. During
pe delete session the timer is stopped and destroyed. But if
if timer has already expired and has posted the message to MC
thread the timer callback will be called with pe session which
is already deleted.
Fix this by checking if of pe session is valid in timeout API.
Also reset dfsIncludeChanSwIe during pe delete session.
Change-Id: I67d7e65c8136daaa04afa8b01b7019b0b8b36dae
CRs-Fixed: 2372278
The driver currently defines two different data structures to hold
Delete Tspec parameters:
- tDelTsParams
- struct del_ts_param
In this case having two different structures to provide the same
functionality is pointless. Furthermore, due to the way in which these
structures are used, there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
remove the legacy typedef and exclusively use the unified WMI
structure.
Change-Id: Ia70b1e17e4446259ff32107ffbc11646d078e1c0
CRs-Fixed: 2371915
The driver currently defines two different data structures to hold
Add Tspec parameters:
- tAddTsParams
- struct add_ts_param
In this case having two different structures to provide the same
functionality is pointless. Furthermore, due to the way in which these
structures are used, there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
remove the legacy typedef and exclusively use the unified WMI
structure.
Change-Id: I298202748b8a0f6c2a9f8a36ca7cdee071d000bf
CRs-Fixed: 2371914
The driver currently defines two different data structures to hold
Delete Tspec Request parameters:
- tSirDeltsReqInfo
- struct delts_req_info
In this case having two different structures to provide the same
functionality is pointless. Furthermore, due to the way in which these
structures are used, there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
remove the legacy typedef and exclusively use the unified WMI
structure.
Change-Id: I0951c8da636bcbf81a335c0ea1250d721ca5c573
CRs-Fixed: 2371913
The driver currently defines two different data structures to hold
aggregate AddTspec parameters:
- tAggrAddTsParams
- struct aggr_add_ts_param
In this case having two different structures to provide the same
functionality is pointless. Furthermore, due to the way in which these
structures are used, there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
remove the legacy typedef and exclusively use the unified WMI
structure.
Change-Id: I960bd79b04838ac675ad49e332a47671faccaaa7
CRs-Fixed: 2371912
The driver currently defines two different data structures to hold
a TSpec IE field:
- tSirMacTspecIE
- struct mac_tspec_ie
In this case having two different structures to provide the same
functionality is pointless. Furthermore, due to the way in which these
structures are used, there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
remove the legacy typedef and exclusively use the unified WMI
structure.
Change-Id: I2e9da1d72dae3c4b0baa13306ee7ec127895a4f2
CRs-Fixed: 2371911
The driver currently defines two different data structures to hold
a TS Info field:
- tSirMacTSInfo
- struct mac_ts_info
In this case having two different structures to provide the same
functionality is pointless. Furthermore, due to the way in which these
structures are used, there is an implicit requirement that they be
exactly identical. This approach is very fragile. To align with the
converged software architecture and to improve code maintainability
remove the legacy typedef and exclusively use the unified WMI
structure.
Change-Id: I95bcb4364ee7e3108137c8ceeedf05c7a53bc393
CRs-Fixed: 2371910
The function name lim_process_ft_aggr_qo_s_rsp() is mangled,
originally produced by automated camelCase conversion. Rename to
lim_process_ft_aggr_qos_rsp() to make more sense.
Change-Id: I8ca5888594d4384020d14804524f9a669ae8de08
CRs-Fixed: 2371909
Currently the driver doesn't set the passive scan req flag
as false which results in passive scan, and thus introduces
latency.
Fix is to set passive scan as false in ACS scan req.
Change-Id: I1274a4ccb9d99d568c32aeea1a65e4637a82b9c8
CRs-Fixed: 2372103
In avoid frequency vendor command, only data validation is
being done but each individual channel is not getting validated
which may lead to an array out of bound access as the array
which is used to cache the channels has the size of valid number
of channels.
To avoid this, add a check to validate each channel before
updating the unsafe channel list array.
Change-ID: I433e9297207869e43d1a6ee2d621bded2f562656
CRs-Fixed: 2341890
RA filter is getting configured while APF is supported.
Since APF implementation internally handles RA filtering,
this is not needed. Therefore if APF is enabled in INI
and target supports it, do not configure RA filtering.
Don't configure RA filtering when APF is supported.
Change-Id: Iabb75b46fce64b2c4a7a303848d7cb6b4714253b
CRs-Fixed: 2352248
Add host support for db2dbm RSSI changes. Firmware
indicates this capability when underlying hardware
has RSSI reporting feature. Based on this capability
host will know if firmware sends SNR or RSSI. If no
capablity is present then host will convert SNR to
rssi using a fixed offset of -96. If capability is
present host will directly use the rssi as it is.
Change-Id: I9058f16c6280d466feb96cf88a8a0d8cd7b02032
CRs-Fixed: 2364023
In wma_hold_req_timer(), if wma_crash_on_fw_timeout()
is true, SSR will be triggered, but allocated memory
such as user_data, params and resp are not freed,
result in memory leak.
Fix is to still do wma_send_msg_high_priority() when
wma_crash_on_fw_timeout()is true, so allocated memory
can be freed.
Change-Id: I798bb864e8ad6dc7eb67401a820dc0896892e65e
CRs-Fixed: 2370594
The existing accessor macro NBUF_MAP_ID is obsoleted due to
restructuring of qdf_nbuf_cb.
Use new macro QDF_NBUF_CB_RX_MAP_IDX to access map_index.
Change-Id: I23650781cdd770f25b72a0a5fe55acc12d71cb64
CRs-Fixed: 2370724
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_NON_AGG_RETRY
Change-Id: I607335f5975d45f2a38503cbaaa557e02818cbdb
CRs-Fixed: 2371568
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_GUARD_TIME
Change-Id: I3395b39fd150daba2383998d9bef1a58ac61fd4d
CRs-Fixed: 2371567
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_STATS_AVG_FACTOR
Change-Id: Ife9ca5b48a3b64b3de674873a2faf2926df4e60a
CRs-Fixed: 2371566
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_QPOWER
Change-Id: Ic10dd8ef706cb73028fe8523dbb6e0cc0a15ac4a
CRs-Fixed: 2371565
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_SCAN_ENABLE
Change-Id: Ia9e97c19c26d7fbdaed0ddaec2def1bdc78ae34c
CRs-Fixed: 2371564
After p2p componentized, the legacy roc data struct and
functions are not needed. Remove below data struct and
functions:
lim_remain_on_chn_rsp
lim_process_remain_on_chnl_req
lim_process_remain_on_chn_timeout
lim_send_p2p_action_frame
lim_send_sme_roc_rsp
struct sir_roc_rsp
struct sSirRemainOnChnReq
tSirRemainOnChnReq *gpLimRemainOnChanReq
Change-Id: Ie1644bf973e8aba30f44e0750f97b21ec31deb69
CRs-Fixed: 2367914
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_LRO
Change-Id: I5627292f84cefe79b1a89d1be84cea5d8a7c6cc1
CRs-Fixed: 2371563
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_LISTEN_INTERVAL
Change-Id: I61b679c4fda4b803a8721054694102c7af46fc88
CRs-Fixed: 2371562
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
-QCA_WLAN_VENDOR_ATTR_CONFIG_MODULATED_DTIM
Change-Id: Iebadf68ec920ab4198feb5b8ee99ec3d8b961173
CRs-Fixed: 2371561
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
As part of that goal refactor the following independent attribute
handling into a separate function and add that function to the vtable:
- QCA_WLAN_VENDOR_ATTR_CONFIG_FINE_TIME_MEASUREMENT
Change-Id: I8b9914936ed9077b487bb8092246a64a6c5f914b
CRs-Fixed: 2371560
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach.
The QCA_WLAN_VENDOR_ATTR_CONFIG_SCAN_DEFAULT_IES attribute handling is
already in a separate function, so add that function to the vtable
instead of calling it directly.
Change-Id: Id77d491ce90bbc1d2a0569af37bba55aeeaa0295
CRs-Fixed: 2371559
One of the HDD functions with the highest cyclomatic complexity is
__wlan_hdd_cfg80211_wifi_configuration_set(). In order to reduce the
complexity there is a plan to replace the inline attribute handling
with a vtable-based approach
As the first step of this refactoring add the actual vtable
infrastructure. Later changes will refactor the attribute handling
and populate the vtables.
Change-Id: If79fc61f84bf17a39e300c18681961a4a0e01408
CRs-Fixed: 2371558
Dump DPT and MAC trace after LIM detects disconnection caused by
deauth or disassoc such that in case of RX data stall we can get
all required logs.
Change-Id: I28b129e5b787391e0064a16d9750c463f2310199
CRs-Fixed: 2371708
Enable QCA_AC_BASED_FLOW_CONTROL in Kbuild file for for all
lithium platform, including HST.
CRs-Fixed: 2371232
Change-Id: I7e755d6211106f4a5c8e9d87905f6425ece4c5c3
The driver currently defines three different data structures to hold
mobility domain information:
- tSirMobilityDomainInfo
- tCsrMobilityDomainInfo
- struct mobility_domain_info
To align with the converged software architecture remove the two
legacy typedefs and exclusively use the unified WMI structure.
Change-Id: I317b90e47c3db8b74a76c297f6bc42301fa2f80e
CRs-Fixed: 2369476
Replace legacy isRoamOffloadEnabled from csr_config with
converged flag lfr3_roaming_offload.
Fix CamelCase issues for roam offload part.
Change-Id: I89ceda876d5549e9b0959e7e25e317c9667594b5
CRs-Fixed: 2367873
Use policy manager to set and update the NAN Discovery
related connection info. Disable NAN Discovery
explicitly for unsupported concurrencies.
Handle concurrencies with NAN Discovery interface.
Change-Id: I8c9450b034983ef0402fdc878d8b525bedac9f0b
CRs-Fixed: 2358180
After replace CONFIG_MCL with WLAN_FEATURE_ROAM_OFFLOAD in
struct roam_offload_scan_params, roam_offload_params is only
defined under MACRO WLAN_FEATURE_ROAM_OFFLOAD, any access to
roam_offload_params should be under WLAN_FEATURE_ROAM_OFFLOAD.
Refactor function wma_roam_scan_offload_mode, separate roam scan
offload parameters config to another function.
Change-Id: I3b9306ef3c3ad9c451ffb450df9521cde609bca4
CRs-Fixed: 2367841