Some ini descriptions are different to common, and some of them
include wrong information, so correct them and use unified form.
Change-Id: I36348fb26a03cab254fd309d792125b8a21ad02f
CRs-Fixed: 2402446
Currently hdd_send_peer_status_ind_to_app() uses the legacy term
sessionId to reference a virtual device. To align with converged
naming rename this to vdev_id.
Change-Id: Iada1a4bd86bbe444bc899bbaa1e05daccc552904
CRs-Fixed: 2404161
As part of DSC integration, use vdev op start/stop for appropriate
IOCTL handlers.
Change-Id: Ic2c96d9447f1a74733c3ad1dcc773f733fac10e6
CRs-Fixed: 2402144
PMKID/PMKs present in PMK cache are no more valid after softap
stop/restart. Flush the cache when the stop_ap() is called.
Change-Id: I1772bc7e36e6c0ef4f65ed49544fcae0fc11ee70
CRs-Fixed: 2396375
hostapd/wpa_supplicant sends PMKID in EXTERNAL_AUTH command.
Extract and cache the same.
Change-Id: If490c3fb7e0119910e73dffc8701434752aabd6c
CRs-Fixed: 2396367
Hostapd sends SAE authentication status with the NL command
NL80211_CMD_EXTERNAL_AUTH. Extract status and peer mac address
from the command data and set mlmState in preauth node accordingly.
Change-Id: If507a2f56c031ae1885a11d5f7cbe31a18aa8821
CRs-Fixed: 2396366
hostapd handles SAE authentication frames sent by a station.
Set the flag RXMGMT_FLAG_EXTERNAL_AUTH and forward them
to hostapd.
Change-Id: Ic1d6a560430307b899700f98d90a7dacfe741071
CRs-Fixed: 2396360
When userspace disconnect is received, wlan_hdd_disconnect()
checks if roaming is in progress and waits for 4 secs if roaming
is in progress. The roaming_in_progress flag is set after
CSR receives SIR_ROAMING_START and is unset after CSR receives
SIR_ROAM_SYNCH_NAPI_OFF. Since SIR_ROAM_SYNCH_COMPLETE is
received after SIR_ROAM_SYNCH_NAPI_OFF and all the roaming state
machine activities like filling connection info, bss description
happens after SIR_ROAM_SYNCH_COMPLETE is received. So there
exists a race window between SIR_ROAM_SYNCH_NAPI_OFF and
SIR_ROAM_SYNCH_COMPLETE when the wlan_hdd_disconnect() could
proceed to free the session->pCurRoamProfile and
csr_roam_prepare_bss_config() tries to acces this when
SIR_ROAM_SYNCH_COMPLETE or SIR_ROAM_SYNCH_PROPOGATE is received.
This could result in null pointer dereference of pCurRoamProfile.
Call hdd_set_roaming_in_progress(false) in
hdd_sme_roam_callback() when SIR_ROAM_SYNCH_COMPLETE is received
Change-Id: Ic350d55e857ad950a0e630b07d75a5b1b572a75c
CRs-Fixed: 2399474
As part of DSC integration, use vdev op start/stop for appropriate
cfg80211 operation callback handlers.
Change-Id: Id2a13469267547b878e234cb3c0b16e74abe00d5
CRs-Fixed: 2402143
As part of DSC integration, use vdev op start/stop for appropriate
vendor commands.
Change-Id: I5d296e7e97158bcc11db04361e0211d1a44b7fcd
CRs-Fixed: 2402142
Currently all logging for CP_STATS is disabled so CP stats
logs are not getting printed.
Enable all the logs for CP_STATS Module.
Change-Id: If465c813d98410129f80427ed7072de063f1f3c8
CRs-fixed: 2402649
In the case the interface timer gets expired and stop modules is called
in that context and modem graceful shutdown occurs at the same time,
there arises a situation in which there is a mismatch in the FW and
driver state. This results in the rx ring buffers being freed by the
host while FW still tries to access those buffers.
To avoid this assert situation, block the modem shutdown while the host
is performing stop modules. During stop modules, host will send pdev
suspend which will suspend all activity from FW. This can then clear the
path for the modem graceful shutdown.
Change-Id: I8ecae86bb90be7e97eb274946270eb57ca107332
CRs-Fixed: 2392815
In several functions of HDD, reference of vdev is acquired and released
with hdd_objmgr_get_vdev() and hdd_objmgr_put_vdev() respectively.
Both hdd_objmgr_get_vdev() and hdd_objmgr_put_vdev() use adapter input
argument to get the access to vdev pointer: adapter->vdev.
When acquiring vdev reference "adapter->vdev" can be valid but when
releasing vdev reference "adapter->vdev" can be NULL, leading to
reference leak. This can happen only when hdd_vdev_destroy() invoked
from another thread concurrently.
To address this issue, use the input argument vdev pointer to release
the reference in hdd_objmgr_put_vdev().
Change-Id: I89166a471b6c82a95ae0c70ae025608f2f19e5ca
CRs-Fixed: 2399777
Currently there is no support from driver to send STA authorized
event to supplicant.
Use QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES vendor command to
send STA authorized event to supplicant.
Change-Id: I46416949f04dd28a1713cbebf1f7d0e84b5efda2
CRs-Fixed: 2172816
Hostapd handles SAE authentication and sends the
authentication frames via NL80211_CMD_FRAME interface.
Enable mgmt_tx API for SAP mode as well to
facilitate the same.
Change-Id: Ie858881333b0f12e03f9a4f7b54fe5476b1d9173
CRs-Fixed: 2396335
Revert set ol_rx_thread to SCHED_RR, SCHED_RR could lead to
hdd_ctx->bus_bw_work delayed for long time, and throughput level is not
updated while running traffic, finally hdd_rx_packet_cbk drop packets(rx
path slow).
Change-Id: Idc48c4ff4f38e25124121f814492ea116555cd32
CRs-Fixed: 2398511
Epping mode is currently borken in qcacld-3.2 codebase.
Fix epping mode for QCN7605 for USB and PCIe interface.
Change-Id: I12a11989d86f255e7ec61c98e328fbb755fc39ae
CRs-Fixed: 2400179
The Driver Synchronization Core (DSC) is a set of synchronization
primitives for use by the driver's orchestration layer. It provides APIs
for ensuring safe state transitions (including bring up and tear down)
of major driver objects: a single driver, associated psocs, and their
associated vdevs.
As part of integrating the DSC APIs into OSIF, protect NAN datapath and
NAN discovery.
Change-Id: Icf24c8f7717cd1ca92616c781f06dacdd69c01f0
CRs-Fixed: 2398340
The CONVERGED_TDLS_ENABLE feature flag was originally introduced when
the TDLS feature was being componentized so that one could select
either the legacy implementation or the componentized implementation.
That componentization activity has concluded and the legacy
implementation no longer exists. To align with the current usage
switch to exclusively using the FEATURE_WLAN_TDLS feature flag since
that more accurately describes the code being protected.
Change-Id: I2cdb4c6ddba22c5b1d29e87403e5e1c87ce5cbfe
CRs-Fixed: 2395728
Host driver packs only the RSN IE, WAP IE and additional IE
from association request to upper layers. With any new IE
support added on the driver, the driver has to add new structure
to csr_roam_info and pack that IE into the
tSap_StationAssocReassocCompleteEvent and pass it to higher
layers. This increases the redundancy with new IE introduced.
To facilitate hostapd to get information on all IE, pass all the
IE present in the assoc request to hostapd.
Change-Id: I1665a83de52bd67529ea026dc0c5e92cfbd51590
CRs-Fixed: 2390425
The functionality previously synchronized by the hdd_context_lock has
migrated to the OSIF Request Manager, and the hdd_context_lock is no
longer used. Since it is obsolete, remove it.
Change-Id: Ibb807eeec5e5a20a39596cdb1b068ea5cca9d2d3
CRs-Fixed: 2400777
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
When the driver gets virtual interface delete, as part
of change interface, stop bss cmd is queued, and when
the command is processed by LIM layer, it deletes all
the peers and sends the disassociation frame.
It may happen that at the same time the peer which was
associated to the SAP sent a disassoc before it got the
same from the SAP.
That disassoc frame would also the queued, and processed
after the stop bss command is done. When the command of
disassoc frame from the peer is processed, the peer is
searched in the session, but since the stop bss has already
been processed, and the peer is deleted, the driver won't be
able to find the peer, hence will drop the command process.
Since the command process was dropped, but command was still
in the active list, timeout would happen in the serialization
module, and the remaining commands in the pending list would
not be processed.
Fix is to flush all the peers and send disassoc frame before
the stop bss cmd is put in a serialization list, to avoid this
race condition.
Change-Id: Ideefbca5b250a24e29b66122fd32019cf7441f30
CRs-Fixed: 2399221
Currently the TDLS component code is unconditionally built which will
bloat images where TDLS is not required. Fix this by only building the
TDLS component when the TDLS feature is enabled.
Change-Id: I7496b8f07ed495b00e62fc3cf50a96e1829d9341
CRs-Fixed: 2399966
Correct embedded documentation for the ipwriv
commands, set_btc_mode and set_btc_rssi.
CRs-Fixed: 2396490
Change-Id: I77f93510885352d766eb581769502cdc87422a77
Add ini to support partial and full bandwifth feature of UL MU-MIMO.
0-> no support
1-> partial bandwidth
2-> full and partial bandwidth
Change-Id: I94b2c8e525795a32a923e75f0650742f806dfcd5
CRs-Fixed: 2397536
The Driver Synchronization Core (DSC) is a set of synchronization
primitives for use by the driver's orchestration layer. It provides APIs
for ensuring safe state transitions (including bring up and tear down)
of major driver objects: a single driver, associated psocs, and their
associated vdevs.
As part of integrating the DSC APIs into HDD, protect pre-CAC vdev
create and destroy.
Change-Id: I8f597fca2ccd908e358475abf360feefeac7db4d
CRs-Fixed: 2397319
The Driver Synchronization Core (DSC) is a set of synchronization
primitives for use by the driver's orchestration layer. It provides APIs
for ensuring safe state transitions (including bring up and tear down)
of major driver objects: a single driver, associated psocs, and their
associated vdevs.
As part of integrating the DSC APIs into HDD, protect vdev up, down, and
mode change.
Change-Id: Ie6c8df3e4166bbfed5496b474bc49ecdb9a8ca91
CRs-Fixed: 2397318
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
After CFG INI componentization hdd prevent link down config
is obsolete and hence remove it from hdd config.
Change-Id: Ibcceef38b9aedfb323e859ff0c20d1b068dce08d
CRs-Fixed: 2397353
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 frowns upon mixed-case names and so-called
Hungarian notation so rename local variable pBeacon to be in
compliance.
Change-Id: Ie305a91281b043fe915a91b9f7b17a84ebd96576
CRs-Fixed: 2396524
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
Change I556e9d2833edd2bd26266496b6000347649c5fbe moved hdd_dsc to osif,
but retained the existing naming. Rename hdd_vdev_sync to a more
appropriate osif_vdev_sync, and address any remaining naming problems.
Change-Id: Ic0983a79b09254b1615a348fe540f1dc0121baff
CRs-Fixed: 2396514
The Linux Coding Style frowns upon mixed-case names and so-called
Hungarian notation so rename wlan_hdd_cfg80211_alloc_new_beacon()
parameter ppBeacon to be in compliance.
Change-Id: If6b9b6d61c5fa6957310bccd1f6c5f0a33a469a6
CRs-Fixed: 2396505
Change I556e9d2833edd2bd26266496b6000347649c5fbe moved hdd_dsc to osif,
but retained the existing naming. Rename hdd_psoc_sync to a more
appropriate osif_psoc_sync.
Change-Id: Ic877c0d4efc7e74426c048c440a49f72ee1b5b0f
CRs-Fixed: 2396513
Move the contents of hdd_dsc to the new files added in osif/sync as part
of Ica94d32028d10d344294d6cc12d91a06efe1ab6c.
Change-Id: I556e9d2833edd2bd26266496b6000347649c5fbe
CRs-Fixed: 2396512
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
Change Iea602a1da42d5eecafae1d00f2260f4930128f40 ("qcacld-3.0: Remove
eWNI_SME_GET_ASSOC_STAS_REQ handling") removed the logic that sent the
eSAP_ASSOC_STA_CALLBACK_EVENT event. Since this event is obsolete,
remove the handling code from SAP and HDD.
Change-Id: I49e169a1832845bac4e89cd832d72dec42d4ee09
CRs-Fixed: 2396058
Refactor the below two ini items to new converged cfg/ini
infrastructure:
"gEnableChangeChannelBandWidth"
"extscan_adaptive_dwell_mode"
"extscan_adaptive_dwell_mode" - move this to scm module
"gEnableChangeChannelBandWidth" - move this to mlme
Change-Id: I1ca6657a95c2cd47057f11ccf23c47347f3fc33b
CRs-Fixed: 2394240
Add iwpriv commands to support dynamic control of Bluetooth
coexistence mode and RSSI threshold level for switching
between FDD and TDD modes
Change-Id: I527335896c7d36d7a93425c2a4d02a339ec44605
CRs-Fixed: 2393421