LFR2 uses ft reassoc, whose process is different from general
connect.
1.ft reassoc, normal reassoc and assoc, all of 3 need deliver
event WLAN_VDEV_SM_EV_START to SM, but need different handler.
2.ft reassoc send vdev start when add bss, not switch channel.
Change-Id: Ieefbcf0a28867be3c8a86d9a912143857c54fe06
CRs-Fixed: 2334194
Previously "qcacld-3.0: Use mac_handle_t in wlan_hdd_main" (Change
If9ddbe0935d859d4c71dc11576cd7062a715b3e9) replaced all instances of
tHalHandle with mac_handle_t in wlan_hdd_main. But subsequently change
"qcacld-3.0: Allow Setting Channel&Bandwidth in STA mode" (Change
Ie9ffc701d93ed1c050375dd56151b7a0da69cdce) introduced a new instance,
so replace it as well.
Change-Id: I01e67401b0eb99b242a7a0b0d161696cbe2fba79
CRs-Fixed: 2335139
hdd_change_adapter_mode() contains a work around for an issue with
userspace requesting station mode on a p2p adapter, expecting the wlan
driver to instead change the adapter to p2p-device mode. Hoist this work
around to the caller, __wlan_hdd_cfg80211_change_iface, so the rest of
the code doesn't need to be aware of it.
Change-Id: Ic71d6d99b1df7339dda892adcfb27605fa8dfc59
CRs-Fixed: 2332798
Some common parts of __wlan_hdd_cfg80211_change_iface are repeated in
multiple places. Factor out these common sections to reduce redundant
code and ensure they stay synchronized in the future.
Change-Id: I80d47f1c9a14342f777bfc169d85287a3e709a58
CRs-Fixed: 2332780
__wlan_hdd_cfg80211_change_iface() currently uses QDF_OPMODE and
nl80211_iftype relatively interchangeably, which forces the reader to
mentally convert between the two as they go and disperses the real
conversion of one into the other throughout the code. Instead, do the
conversion from nl80211_iftype to QDF_OPMODE once up front. This way
usage can be consistent and more easily followed.
Change-Id: Ie578865c3724e4a85bd249352288afac10928bb4
CRs-Fixed: 2331969
In mlme_update_vht_cap, local structure is updated instead of
mlme global structure for vht caps and thus the mlme vht caps
contains only the default values.
Fix this by updating mlme vht caps in mlme_update_vht_cap.
Change-Id: Ifa3d30ae202f1a4b6361db1a504861918f7ebf2c
CRs-Fixed: 2334955
NAN data path interface (NDI) VDEV uses AP MLME callbacks for
VDEV state machine but some state actions are no op for NDI mode.
Update lim module to transition from NDI from VDEV START state to
VDEV up state and bypass beacon update and VDEV up WMI for NDI mode.
CRs-fixed: 2330270
Change-Id: I648811b41020a4e09aa6c7c436ec2c9693c51d97
Following changes were made -
- Replace #ifdef CONFIG_LITHIUM with QCA_WIFI_QCA6290 and QCA_WIFI_QCA6390
flags. CONFIG_LITHIUM is not defined to be used within the code, the
individual chip specific flags are defined, hence use those.
- Pass IPA enable/disable ini configuration to DP layer
Change-Id: If0bfdaf408b06a922923e998c0c6ad2157e2c080
CRs-Fixed: 2328711
In wma_self_peer_remove, sta_self_wmi_rsp is allocated and sent as
params to wma_fill_hold_req for WMA_DELETE_STA_REQ. However, if
wma_fill_hold_req fails and returns NULL, the memory allocated for
sta_self_wmi_rsp is not freed leading to memory leak.
Free sta_self_wmi_rsp in the error handling case for wma_fill_hold_req
in wma_self_peer_remove.
Change-Id: I8df840b39284e00a8c8be114c0fec13c3c199fc6
CRs-Fixed: 2334580
As part of new INI/CFG model, move gEnableStaConnectionIn5Ghz
ownership from HDD to policy manager.
CRs-Fixed: 2324393
Change-Id: I894467bab4b0bddf309463802b98904ef1150536
As part of new INI/CFG model, move gEnableMCCAdaptiveScheduler
ownership from HDD to policy manager.
CRs-Fixed: 2324393
Change-Id: Ib86004c4ee753b37b392de69551c777e3e9011de
As part of new INI/CFG model, move dbs_selection_policy,
vdev_priority_list, channel_select_logic_conc INIs'
ownership from HDD to policy manager.
CRs-Fixed: 2324393
Change-Id: I8b38916d92931ef9cd1727481740bc61cad8f808
As part of new INI/CFG model, move gEnableCustomConcRule1 and
gEnableCustomConcRule2 ownership from HDD to policy manager.
CRs-Fixed: 2324393
Change-Id: I11952819a6ba5581de51d9b58969ff02d582f233
As part of new INI/CFG model, move gMaxConcurrentActiveSessions
ownership from HDD to policy manager.
CRs-Fixed: 2324393
Change-Id: Iac1451fc457d9bceee73596affdae54895917040
As part of new INI/CFG model, move gSystemPref ownership
from HDD to policy manager.
CRs-Fixed: 2324393
Change-Id: Ia586896ea55c6e71d8dcff705bf0e74879931dbb
As part of new INI/CFG model, move gWlanMccToSccSwitchMode ownership
from HDD to policy manager.
CRs-Fixed: 2324393
Change-Id: Id8bdee52ebf83b1c8b3c8f9132a2fc74b28f42a0
Policy Manager component needs to adopt a new INI/CFG
infrastructure.
Provide a new infrastructure and remove old INI/CFGs related
to policy manager component.
CRs-Fixed: 2324393
Change-Id: Ia16845c2aef3c5877b0b164fcef13fe7cd41c736
Make the following updates to the passpoint set/reset logic:
1) Exclusively use the Unified WMI data structures.
2) Refactor the vendor command processing to improve code
maintainability.
Change-Id: I39945b2cec90c3f34c81e5ca525842f1af9340f7
CRs-Fixed: 2334234
ANDROID_BUILD_TOP variable is being deprecated and thus all paths are
assumed to be relative to the top directory.
However, this is causing problem when some of the paths are constructed
in the Android build system and used in the non-Android makefiles that
are usually executed NOT at the top directory but at a sub directory
using -C option. As a result, the relative path from the Android build
system become invalid in the non-Android makefiles.
In order to overcome the restriction, ANDROID_BUILD_TOP is manually
constructed when invoking the non-Android makefiles by using $$(pwd).
The non-Android makefiles are expected to construct the absolute path
by prepending ANDROID_BUILD_TOP to any path that came from the Android
build system.
Specifically, Kbuild is modified so that ANDROID_BUILD_TOP is prepended
to WLAN_ROOT and WLAN_COMMON_INC to make them absolute paths.
Change-Id: Ic34de7a2bc407153085eb3eb154d6dd71f04eedb
CRs-Fixed: 2328210
After enable AC based flow control feature, there are several
invalid messages are brought because of new added flow control
actions. Add new dump strings for these new added actions.
CRs-Fixed: 2332343
Change-Id: I6123e222a6124d992c094a2931fb7c8111c7a71a
Protocol stack supposed to be HLOS-agnostic, but there is some use of
Linux fixed-width types u8, u16, and u32. These should be replaced with
C99 fixed-width types uint8_t, uint16_t, and uint32_t so that they will
correctly be HLOS-agnostic and work on non-Linux targets.
CRs-Fixed: 2326407
Change-Id: I8f9099a0170e4f94a54cdd6cc6c2e321a29af717
Featurize MCL only WMI APIs by compiling them as a separate source.
It enables profiles/configs to selectively compile the WMI APIs
based on whether the feature is required or not.
Featurize WMI APIs and TLVs that are specific to MCL -
- DSRC
- NAN
- P2P
- PMO
- roaming
- concurrency
- STA
- Generic MCL specific WMI (STA)
Change-Id: I3b005b8f60491c7d27cf221b7505116e1b9c1a38
CRs-Fixed: 2333916
Do softirq for every 32 RX packets from 16 for IPA exception RX path.
Which will improve RX throughput much better.
Change-Id: I717d23714d1d0ae72550a06fd4df0817195f658b
CRs-Fixed: 2250253
During hdd wlan reinit VDEV delete command is not sent to firmware
since cds_driver_recovery is True and it is set to False at later stage.
To fix this, remove recovery check in wma_vdev_detach to send WMI command
to FW as WMI is active during reinit phase.
Change-Id: I94b7437edbf0c5bccbc469ce01940b14b46258fb
CRs-Fixed: 2333475
In __wlan_hdd_cfg80211_suspend_wlan(), if suspend fails due to
hdd_suspend_wlan() < 0, dp rx thread waits to get resume during
WLAN resume callback.
Resume dp rx thread in __wlan_hdd_cfg80211_suspend_wlan() to
handle error path.
Change-Id: Id53bcbae782b31c28fe785fab9da406482cf1794
CRs-Fixed: 2333112
For STA interface, add support to send VDEV_UP command to firmware when
VDEV state is transitioning to VDEV_S_UP.
Change-Id: Ic8f4e8355381d915f4c1c7f6650950d7d12d9db3
CRs-Fixed: 2333297
Make the following updates to the extscan set epno logic:
1) Exclusively use the Unified WMI data structures.
2) Refactor the vendor command processing to improve code
maintainability.
Change-Id: I8179fd9b9acced01956232f113d656e0137231b5
CRs-Fixed: 2333537
While handling the WMI_HOST_SWBA_EVENTID WMI FW event, driver invokes
corresponding wma handler wma_beacon_swba_handler. The event argument
comes directly from the FW. Towards the end of the function,
wma_beacon_swba_handler invokes wma_send_bcn_buf_ll and passes the
original TLV structure, param_buf, as an argument. wma_send_bcn_buf_ll
pull tim_info and p2p_noa_info from the param_buf structure. These
structures can be optionally defined in the message with zero length
resulting in them being NULL pointers. Later, throughout the function
they are then deferenced without every checking if they are in fact NULL.
Fix is to make sure in wma_send_bcn_buf_ll, param_buf->tim_info and
param_buf->p2p_noa_info dereferenced only after NULL check.
Change-Id: Ic27b59dd35f74413e9a978627047855e655b9ed1
CRs-Fixed: 2331956
Check if rs_results->total_num_tx_power_levels is allocated, before
checking the OOB in wma_unified_radio_tx_power_level_stats_event_handler
for new fixed_param->total_num_tx_power_levels
Change-Id: I3e3caf295fad568ecc8e294e6224356ea8a84da6
CRs-Fixed: 2333042
hdd_set_csr_auth_type sets roam profile auth type on the basis
of pHddStaCtx->conn_info.authType. Currently, if supplicant
sends pHddStaCtx->conn_info.authType = eCSR_AUTH_TYPE_AUTOSWITCH,
driver is not handling this case and by default sets
eCSR_AUTH_TYPE_UNKNOWN. When scan results are obtained, driver is
not able to match the auth type in csrIsSecurityMatch as its set
to UNKNOWN .This leads to connection failure in FT roaming.
Fix is to set proper value of pRoamProfile->AuthType in case of
pHddStaCtx->conn_info.authType = eCSR_AUTH_TYPE_AUTOSWITCH.
Change-Id: I203f71606ee424340b447caecb91aded18c029b0
CRs-Fixed: 2327541
If DFS CAC is offloaded the SAP VDEV state machine does not move to
CAC wait state and thus stop AP and radar indications are dropped.
This leads to del_self_sta without del_bss.
To fix this move the SAP VDEV state machine to cac wait state when
dfs cac offload is set.
Change-Id: I0b526974a4586b41f5a4b1ea5968721f444c610b
CRs-Fixed: 2332087