Change Iea0bf0a3dcae9186cce4eb176b974515fd0d7624 ("qcacmn: Replace
session_id in hidden_ssid_vdev_restart_params") is renaming the legacy
identifier session_id to vdev_id, so concurrently change the usage in
the legacy project.
Change-Id: Ie8c426aff1a8a1e7f75199c8cf7c761f1a893a05
CRs-Fixed: 2403935
The driver currently defines two different data structures to hold
Gateway Update parameters:
- legacy struct gateway_param_update_req
- unified WMI struct gateway_update_req_param
To align with the converged software architecture remove the legacy
definition and exclusively use the unified WMI definition.
Change-Id: Icc56c4d83808e3661593d2e4735533442d48eb7e
CRs-Fixed: 2404089
Change I84b28aa734b570f0a7834fbac7d27e9c66b8b026 ("qcacmn: Replace
session_id in gateway_update_req_param") is renaming the legacy
identifier session_id to vdev_id, so concurrently change the usage in
the legacy project.
Change-Id: I2d24a54e80931a944580e968a841679d2da7b2a1
CRs-Fixed: 2404013
As part of the original TDLS componentization the legacy typedef
tTdlsPeerStateParams was replicated as qca-wifi-host-cmn struct
tdls_peer_state_params. Subsequently when the TDLS component was
relocated back to qcacld-3.0 this struct was replicated again as
struct tdls_peer_update_state in the qcacld-3.0 TDLS public structs.
Unfortunately this left the driver with three different data
structures which serve the same purpose. Not only is this pointless,
but due to the way in which these structures are used there is an
implicit requirement that they be exactly identical. Further
complicating matters is the fact that these three structures each have
embedded structs which are also replicated. This approach is very
fragile since any change to any of these structs must be replicated
across the entire set. To align with the converged software
architecture and to improve code maintainability exclusively use the
TDLS public structs.
Change-Id: Id6d44a1bc0fe530957db3d9f9ab948e2af775433
CRs-Fixed: 2400766
There are several instances of incorrectly using EOK with QDF_STATUS.
Address all infractions in WMA.
Change-Id: I1bc97c2ed8d4d9600dcbc07f57fccfe42d75d27e
CRs-Fixed: 2403943
Add new ini "roaming_scan_policy" to config roaming scan
behavior (DBS/non-DBS) in fw side.
This ini is corresponding scan_ctrl_flags_ext in
wmi_start_scan_cmd_fixed_param when host sends
WMI_ROAM_SCAN_MODE to fw.
Change-Id: Id95c3b9bb40d4f32ab3ff14a30f72c6150ac1884
CRs-Fixed: 2398531
Register peer unmap sync callback in pdev during wma_tx_attach
to be accessed in ol_txrx.
Change-Id: I16909ae51e3ca55714c8d1f9f07d7a02f651c190
CRs-Fixed: 2398856
The Linux Coding Style frowns upon mixed-case names so rename
currDeviceMode in struct sme_context to be compliant.
Change-Id: I26ca94487c4f037098e06f0dd820360d90cb276b
CRs-Fixed: 2400316
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirAutoShutdownCmdParams
typedef does not meet any of those criteria, so replace it with a
properly named struct.
Change-Id: Ia15a4cb0cfd3ef8868aaa7eaa77cd5dbb44423d0
CRs-Fixed: 2400334
Currently when an auto-shutdown timer event is handled by WMA it
allocates a tSirAutoShutdownEvtParams struct which is then passed as
the payload of a eWNI_SME_AUTO_SHUTDOWN_IND message. However when this
message is processed by SME the payload is ignored since the callback
to HDD does not require it. Therefore it is pointless for WMA to
allocate and fill a payload which SME will ignore, so remove that
aspect of the auto-shutdown timer event handling.
Change-Id: Ibb1e1122c2e29c9369c1d1119d58d15fe9b93159
CRs-Fixed: 2400335
The driver currently defines two different data structures to hold
DHCP Server Offload configuration:
- typedef tSirDhcpSrvOffloadInfo
- struct dhcp_offload_info_params
To align with the converged software architecture as well as the Linux
coding style remove the legacy typedef and exclusively use the unified
WMI structure.
Change-Id: Ia2b537a917bbe9e36ba4bc3b289e8c2e9ec630d6
CRs-Fixed: 2399938
When the DHCP_SERVER_OFFLOAD feature is enabled the driver does not
build, so address the build issues.
Change-Id: I42103afd91c4bed2d04f22bdb6159e286ff12fa0
CRs-Fixed: 2399937
By design, when APF is supported by target, RA filtering need
not be configured. Legacy code handled this by passing INI value
of RA rate limit value to WMA and intersecting it with APF
enabled flag. Change Iabb75b46fce64b2c4a7a303848d7cb6b4714253b
replaced this implementation by a single check in PMO. So remove
the WMA legacy code since it has no purpose now. Also remove
unused PMO prototypes pmo_update_ra_limit and
pmo_update_target_service.
Cleaunp the WMA code that intersects RA rate limit and APF
variables.
Change-Id: I870a1271a627d47242000f5e04068e628f567216
CRs-Fixed: 2379745
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirTxPowerLimit typedef does
not meet any of those criteria, so replace it with a reference to the
underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I0c466bfbf4b820911e983f8bf74dc9e6f7e8ab70
CRs-Fixed: 2399110
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirLinkSpeedInfo typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I36ab84336b9f0290bc68eb5a42678fd49d0f3c51
CRs-Fixed: 2399107
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirSmeHOFailureInd typedef
does not meet any of those criteria, so replace it (and the "tp"
variant) with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I313e1155aa463bc55ae2467539755fd75cf8a8eb
CRs-Fixed: 2399109
As part of TDLS componentization the legacy enum
wma_tdls_off_chan_mode was replicated, creating enum
tdls_off_chan_mode. All of the TDLS code has transitioned
to the new enum. Since the legacy enum is obsolete, remove it.
Change-Id: I02f9fba0d3fc0cf1f9bada82d3fedc49845f99ee
CRs-Fixed: 2397352
As part of TDLS componentization the legacy enum WMA_TdlsPeerState was
replicated, creating enum tdls_peer_state. Unfortunately this left
the driver with two different enums which serve the same purpose,
which is pointless. Furthermore, due to the way in which these enums
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 enum and exclusively use the TDLS public enum.
Change-Id: I4ded30d12cd7c8ebcf6a36331240f5c26c413d85
CRs-Fixed: 2397351
User layer need to get evm info of each groups of antenna.
Host first get this info by WMI command and then transfer
it to user layer by netlink.
Change-Id: I6e15b85962d06718799f91b86f07ddd8762adb5c
CRs-Fixed: 2381569
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The roam_offload_synch_ind typedef
does not meet any of those criteria, so replace it (and the "tp"
variant) with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: Ieb91f75f4444873ab465d419409d46c05c65b091
CRs-Fixed: 2396068
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirRoamOffloadScanRsp typedef
does not meet any of those criteria, so replace it (and the "tp"
variant) with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I8c9a3680d7b78e99fecd64d8dee095b28a502ce1
CRs-Fixed: 2396067
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirRoamOffloadScanReq typedef
does not meet any of those criteria, so replace it (and the "tp"
variant) with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I3e7d5bd70618d132cc028b978583e55c729a2c21
CRs-Fixed: 2396066
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirKeepAliveReq typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I68e1607c76c1ed1b7bc570ecae677e9c790803cb
CRs-Fixed: 2396065
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirHostOffloadReq typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I21970981e7a128f71abdd601181c596b9b32320b
CRs-Fixed: 2396064
As part of TDLS componentization the handling of TDLS off-channel was
relocated to the TDLS component. Subsequently change
I983851d8cc0d3605c3d6bd0d8975c72844f71740 ("qcacld-3.0: TDLS: remove
remaining legacy code") removed the logic which previously sent the
WMA_TDLS_SET_OFFCHAN_MODE message. Unfortuntely it left behind the
legacy logic which processed this message. Since this legacy logic is
obsolete, remove it.
Change-Id: Idb5c1af9a06ce744bb8a689fc40700f3837ad0fc
CRs-Fixed: 2396062
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirIbssPeerInactivityInd
typedef does not meet any of those criteria, so replace it (and the
"tp" variant) with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I392d7db54aa78c390aa268aacca39818b6ec5aca
CRs-Fixed: 2396056
As typecast can mask programming errors,
remove typecast from chan, key and fils_info.
Change-Id: If33ec4e4e5d8071b80c6323271a48cefdf354512
CRs-Fixed: 2395909
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirSmeMissedBeaconInd typedef
does not meet any of those criteria, so replace it (and the "tp"
variant) with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: I24f35dd3248c78c9f9cab3d724032ae1fa5e890d
CRs-Fixed: 2395997
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirSmeMicFailureInd typedef
does not meet any of those criteria, so replace it (and the "tp"
variant) with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names and
so-called Hungarian notation, so in conjunction rename the underlying
struct to be in compliance.
Change-Id: Ic5cd76804a3e1462c1e92be3d1d2dd6911b108dc
CRs-Fixed: 2395996
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirPlmReq typedef does not
meet any of those criteria, so replace it (and the "tp" variant) with
a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names
and so-called Hungarian notation, so in conjunction rename the
underlying struct to be in compliance.
Change-Id: Ie7eb223daef08337dda492e2d63754eb69ca09b9
CRs-Fixed: 2394995
In wma_group_num_bss_to_scan_id(), bssid_list may get accessed
outside of the available buffer size.
Fix the possible out of boundary access by adding a check.
Change-Id: I5e278bd96b8f57c96f53d7c3cd8f4f3e5a67fc6c
CRs-Fixed: 2385431
An upcoming set of changes will converge three sets of TDLS structs
into one. In order to allow the qcacld-3.0 changes to be made
independent of the qca-wifi-host-cmn changes change the call to
wmi_unified_update_tdls_peer_state_cmd() to use (void *) typecasting.
Note that this is a temporary change since the typecasting will be
completely removed when the convergence has been completed.
Change-Id: I59089575b2f5f7470ad60ca85247367c14e72bcd
CRs-Fixed: 2395336
The Linux Coding Style enumerates a few special cases where typedefs
are useful, but stresses "NEVER EVER use a typedef unless you can
clearly match one of those rules." The tSirSupportedRates typedef does
not meet any of those criteria, so replace it (and the "tp" variant)
with a reference to the underlying struct.
Further note the Linux Coding Style frowns upon mixed-case names
and so-called Hungarian notation, so in conjunction rename the
underlying struct to be in compliance.
Change-Id: I5007379a50223b6de85830e7ae389e65cdb8e4d3
CRs-Fixed: 2392398
As per new requirements to debug game latency related issues,
implement an iwpriv command which:
1) sends a bitmask to FW's Wireless Latency Manager module (WLM).
2) receives from WLM a measurement header along with measurement data.
3) converts both the header and data to a hexadecimal encoded string.
4) returns the hexadecimal encoded string to userspace
Change-Id: Ic79c4b757fe2d4e806306750250e3c102745c486
CRs-Fixed: 2388920
As part of the effort to use a single definition for the maximum number
of vdevs, replace WMA_MAX_SUPPORTED_BSS with WLAN_MAX_VDEVS.
Change-Id: I7f0bd615b65e21dc0052933d5e194ca650336b42
CRs-Fixed: 2393167
Check if vdev is active for the following vdev commands before
sending it to firmware:
1. WMI_SCAN_PROB_REQ_OUI_CMDID
2. WMI_VDEV_WMM_ADDTS_CMDID
3. WMI_VDEV_SET_WMM_PARAMS_CMDID
4. WMI_BCN_TMPL_CMDID
This will avoid the race condition where the vdev is deleted
and the vdev related commands for the deleted vdev are sent
to firmware before wmi_stop_inprogress is set at wmi.
Change-Id: Ib3eacc191002395de9640516b9088b01b3a64966
CRs-Fixed: 2392770
Currently the driver uses structure for peer mac address
to store the mac address.
Use the already existing peer mac address array for the same.
Change-Id: Id3715f6abbbf23f4f8d1836eb548b5193a62500a
Check peer address for group or zero before peer create
as there is no way a MGMT frame can be sent to such
a peer, and it also may lead to peer leak in FW, if
this peer is created, as peer delete doesn't go for
such a peer.
Fix is to have a sanity check and then only allow
peer create in host and FW.
Change-Id: Ia7f9e870f10ff8fea5b03f01697370d05ca06668
CRs-Fixed: 2392771
chan, a pointer to wmi_channel is derived from
param_buf->chan. param_buf->chan is derived from
WMI_ROAM_SYNCH_EVENTID_param_tlvs structure and
can be null. This may lead to null pointer dereference
when chan try to access the mhz field, chan->mhz.
Change-Id: I84ade344d2df3dfb5e35e7afaca3ddb768e22769
CRs-Fixed: 2385447
Flag WLAN_FEATURE_NAN_DATAPATH was added to protect NAN Datapath
related code, while WLAN_FEATURE_NAN_CONVERGENCE was added to
protect the converged code inside NAN Component. Since the
original NAN Discovery related code has now been moved inside
NAN component and NAN Datapath cannot exist without NAN Discovery,
keeping these flags separate doesn't make sense. Combine these
two flags with WLAN_FEATURE_NAN flag which is the original NAN
feature flag.
As a cleanup of NAN code, combine all NAN related flags with
WLAN_FEATURE_NAN flag.
Change-Id: If98ecaace17f8724e9c28325ef61e721f42e1d8f
CRs-Fixed: 2377375
As part of CFG ini convergence, remove the macros of WNI
and replace them with the new enums of mlme dot11 mode
Change-Id: Ib7fbf480aa067d02690eb1448c74fcc083d94c59
CRs-Fixed: 2389401
Make the following updates to the "set scan oui" logic:
1) Exclusively use the Unified WMI data structures.
2) Update the HDD<=>SME interface to enforce the contract that SME
must not make any assumptions about the buffers provided by HDD.
3) Replace instances of mixed-case identifiers.
4) Document the API definitions, not the implementations.
Change-Id: I5df3962fc45395b37b4e566f98b840e37f601d26
CRs-Fixed: 2389640