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_ANT_DIV_ENA
Change-Id: I7bd2652db54c71645a8292ab36775682e5a32250
CRs-Fixed: 2371575
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_CHANNEL_AVOIDANCE_IND
Change-Id: Ie5252620221a77c82a03f74eaa14dfaa22b5476a
CRs-Fixed: 2371576
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_TX_FAIL_COUNT
Change-Id: I138b6cee0df42a8ca375092eccc103412544ba2a
CRs-Fixed: 2371574
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_PROPAGATION_ABS_DELAY
Change-Id: I789a46ab7baf2719de25c7e3c1531192c3e663a7
CRs-Fixed: 2371573
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_PROPAGATION_DELAY
Change-Id: I3457a98592164d83db09f20b9e63d28bc8429055
CRs-Fixed: 2371572
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_CTRL_RETRY
Change-Id: Id54483ced3505e28a5db3d05fb3afc4c0c7a1ff9
CRs-Fixed: 2371571
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_MGMT_RETRY
Change-Id: I19af4fa260bd837b55dc0ac38ef7556e5f181c13
CRs-Fixed: 2371570
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_AGG_RETRY
Change-Id: Ibda27586afb6daf7745c2a98cb947a22975e0453
CRs-Fixed: 2371569
Driver is updating center_frequency_2 in case of channel width
80MHz, 80+80MHz and 160MHz in channel change notification to
hostapd.
Since center_frequency_2 gets used only in case of 80+80 MHz,
update center_freq_2 only for 80+80 MHz.
Change-Id: If66f205eac0c81bbb7a2954c05b2e3d5618ff8f8
CRs-Fixed: 2372039
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
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