Introduce a new iwpriv command txrx_stats to
print both host and firmware stats for Lithium
chipset
Change-Id: If37b798a117446e9fbb369823977fa312872ed48
CRs-Fixed: 2017426
Add new dot11mode and update the utility functions to derive
the dot11mode based on the userspace config, INI config and
FW capability.
Change-Id: I5780120ef7bc2b78fd596e937fe14a2c8ad88348
CRs-Fixed: 1073481
qcacld-2.0 to qcacld-3.0 propagation
Observed kernel panic due to improper arguments passed to kernel bit
manipulation functions (like set_bit, clear_bit etc.) i.e these
functions expects bit positions as its first argument but bit mask
values are being passed.
To fix these issues ensure below points:
- Pass bit position as a first argument to bit manipulation
functions.
- Re-define MACROs which gives false impression of bit mask values
with their naming convention.
Change-Id: Ief8cd83b05f01a0926f91c0e9fb461ddd498e05e
CRs-Fixed: 981050
WMA registers for shutdown notification and during wma_close
WMA events are destroyed which are accessed from WMA shutdown
callback. Hence make sure to purge shutdown notification 1st
before calling wma_close.
Change-Id: I868a835f3da52596c0451f9c99638dbc97ea6abe
CRs-Fixed: 2018911
Active Mode Berkeley Packet Filter (Active BPF) is a new feature that
allows firmware to apply BPF even while the Apps processor is active.
There are 3 modes:
* Disabled: do not apply BPF in active mode
* Enabled: apply BPF to all packets in active mode
* Adaptive: apply BPF up to some threshold to avoid performance impact
Add an ini item called gActiveBpfMode to configure the Active BPF Mode
in firmware.
Change-Id: I6cf60d67238802fe1e1662c040910091f5c25bec
CRs-Fixed: 1111400
Propagation from cld3.0-1.1 to cld3.0-2.0
Upper layer can send cfg80211 disconnect command anytime in the life
of a connection. It arrive when firmware roaming may have started,
completed, failed, etc. Processing of roam events may collide with
processing of disconnect command in the host driver.
Defer the hdd disconnect command if roaming has started. Upon completing
roaming send the deferred disconnect command to sme which will
eventually complete the requested disconnect.
If disconnect is deferred during roaming, then do not send the
new roam event to supplicant since it is not expected and upon
honoring the disconnect later, a disconnect event would be
sent to supplicant.
Remove the earlier workaround done to send a try again error message
to upper layers upon receiving a disconnect request when roaming
is in progress
Firmware can now handle the ROAM_SCAN_OFFLOAD_STOP command even
if it is in the middle of roaming operation. Hence remove this
check in SME.
Add LFR3 roaming state to the cds_is_connection_in_progress API since
it currently captures only LFR2 roaming states.
Change-Id: Id352d94b41f0766889ceebd0b57b2c566ce3ca42
CRs-Fixed: 1114853
Allow 160 MHz and 80+80 MHz support in concurrency mode.
Also add support for 160 MHz and 80+80 MHz in VHT Capabilities IE
in STA assoc request frame.
Change-Id: Id3aab3308c68d0a623d5c4916e1bd46c6deaedde
CRs-Fixed: 2014380
qcacld-2.0 to qcacld-3.0 propagation
Add below four keys to allow user to tune WRR TX scheduler params.
Each key is mapping to one AC defined in data path module through
OL_TX_SCHED_WRR_ADV_CAT_CFG_SPEC.
gEnableTxSchedWrrBE
gEnableTxSchedWrrBK
gEnableTxSchedWrrVI
gEnableTxSchedWrrVO
Change-Id: I5c34b604297d83673ea065243cc58c3f2180ff3e
CRs-Fixed: 1020141
When TDLS exists and new virtual interface is added, then
TDLS gets teardown. But TDLS connection tracker is disabled
only when new connection comes up successfully. When STA
interface is present and TDLS is running and SAP is started,
TDLS gets teardown while adding new virtual interface. But
TDLS gets formed again if there is delay in starting BSS.
Thus, TDLS gets formed, but TDLS connection tracker gets
disabled.
The change is to teardown TDLS links if TDLS connection
tracker is disabled in cds_incr_active_session().
Change-Id: I0ae6526ad0aa321b666e62d09c2ca5b1be8f9157
CRs-Fixed: 2010694
In the case of concurrency, considering STA+P2P-GO, if P2P-GO is
removed, then cds_decr_session_set_pcl() will be called from two
contexts mc_thread and supplicant. Thus, if race occurs, then
cds_store_and_del_conn_info() will remove STA temporarily for one
caller, and it simply returns for second caller. As
cds_conc_connection_info stores garbage values for the second
caller, thus, new interface is created with junk variable.
The change is to avoid the race condition for calling
cds_decr_session_set_pcl() in two contexts. The change is also
to initialize cds_conc_connection_info() with zero before simply
returning because of failure in cds_store_and_del_conn_info() to
avoid creating new interface with junk values.
Change-Id: I7bc4dcea6dfb66954f2cead607eef303df62e6d6
CRs-Fixed: 2009364
Some functions/structs are defined only when
QCA_CONFIG_SMP is enabled, however, they
are also used when QCA_CONFIG_SMP is disabled,
which will cause compilation errors.
Move the definition of these functions/structs
out of macro QCA_CONFIG_SMP.
Return type of cds_alloc_ol_rx_pkt() is not
void, but there is no return statement for
it when QCA_CONFIG_SMP is disabled.
Add 'return NULL' for cds_alloc_ol_rx_pkt().
Change-Id: If6f4298c27f0089219bbceb4a9d0ba1a295f8dcd
CRs-Fixed: 2010568
qcacld-2.0 to qcacld-3.0 propagation
Presently, during subsystem restart Host is sending sap restart
indication to framework(via carrier off) to do SAP unload/load.
But SAP restart functionality is removed in framework when the
carrier off event is received, leading SAP fails to come-up
after subsystem restart.
Add support in driver to do SAP restart internally without sending
restart indication to framework, during subsystem restart.
This feature is controlled by ini param 'gEnableSapInternalRestart'
and by default it's enabled.
Change-Id: I76cb73c1887d4d8124cd9a1c29b9aac47642072a
CRs-Fixed: 1105651
qcacld-2.0 to qcacld-3.0 propagation
Driver will not allow scan if connection is in progress.
Add driver changes to generate bug report and trigger SSR
if current session id, rejected reason matches with last rejected
sesssion id, reason and time delta between current time and
last rejected timestamp is greater than 5 mins
Change-Id: Ic64a6fd443104b291b5b7f6cda3bfbe8273c671a
CRs-Fixed: 1081489
Since 2.4 Ghz connection is by default on MAC1 for 2x2 DBS, skip the
optimization of moving to single MAC mode after 2.4 Ghz connection.
Change-Id: I09c2491f59b020e9c691c74c613e39fa250844f4
CRs-Fixed: 2008744
In the case of concurrency, when the session decrements, the
opportunistic timer is started. After a while, when the
opportunistic time is expired, and the hw mode change for SMM
is issued, and the same time new interface comes up, then the
new forms MCC with the existing connection instead of forming
DBS.
The change is to avoid the race condition to form MCC instead of
DBS.
Change-Id: I977039138509676b964ba089e3cb479cd16968bb
CRs-Fixed: 2006350
Hardware support max tx power as 22 instead of 30.
Fix this by supporting max power as 22.
Change-Id: I3645b47a575ffa8b8bcc85fe0dcbba4a630b078b
CRs-Fixed: 2005749
Vendor ACS requires regulatory channel info for each channel.
Add changes to collect channel information of each channel
and save it in sap config.
Change-Id: Ib96c3f7ddfc8476306e9a13127472be9dd0a9488
CRs-Fixed: 1110061
qcacld-2.0 to qcacld-3.0 propagation
SAP keys should be retained at HDD layer when wlan driver
performs internal restarting due to MCC to SCC switch
Change-Id: I5458f7602a0e3851d678981e107ef3b5bda17dd7
CRs-Fixed: 1095584
Driver is missing couple of deregister handler while bringing down the
scheduler
Change-Id: I8fc181e621d56290623419bfc0fde896522e91e4
CRs-Fixed: 2001133
There is a possibility of excessive logging by logging thread
(cds_get_log_indicator) if SSR is in progress, which may lead
to thread stuck and thereby WD bark may happen.
Remove unnecessary log in cds_get_log_indicator, to stop excessive
logging, due to which thread is stuck.
Change-Id: I1747d92b23e208903452ad43b8c84c7b444db922
CRs-Fixed: 2001035
After control path scheduler componentization cds_mq header and
source files are not needed hence delete obsolete cds_mq.h and
cds_mq.c files.
Change-Id: I9cef1086e805d0e5ea7b377d0a2de3512b452572
CRs-Fixed: 2000240
After control path scheduler componentization cds_mq.[ch]
needs to be deleted hence remove legacy UMAC message posting
API to WMA legacy file.
Change-Id: I781a7586cb6dbf635e283eacd38c768a6b7f6d3e
CRs-Fixed: 2000234
After control path scheduler componentization cds_mq.h
HIGH_PRIORITY macro is no longer used hence remove it.
Change-Id: Ied7a2078753686ee2d885b072f2f03a1fd810e9c
CRs-Fixed: 2000214
After control path scheduler componentization cds_mq.h
LOW_PRIORITY macro is no longer used hence remove it.
Change-Id: I633e0eb8097eb1d035a4200018f3d96d6f34b59b
CRs-Fixed: 2000211
Add a callback to query the control path from
the data path on whether DBS is supported
Change-Id: I4e757624ec0229c5fb8d05862b4c3035f5b00f2f
CRs-Fixed: 1116939
Currently target_if_message queue is registered using target if
module id but de-registered using legacy WMA module ID. Add changes
to de-register target_if_message queue using target if module ID.
Change-Id: I6bc24e4be102ef17da27f09cfb2655465dd3b1e2
CRs-Fixed: 2000203
The lock stats feature will keep track of all initialized spinlocks.
The initialization and deinitialization functions are needed for
creating the tracking structures.
Change-Id: I69e08e85cb5105c9d5f3dae8b24121e2cb5726ff
CRs-Fixed: 1117098
All TDLS connection tracker toggle operations is moved into policy
manager. Moreover concurrency functions set_concurrency() and
clear_concurrency() is going to be deprecated soon, so remove
TDLS connection tracker update from those functions.
Change-Id: I13d41d2a5dab154239d88249ea1d2a652ac5e6c7
CRs-Fixed: 1113457
We should use the context id instead of directly referencing
the context pointer name from the cds context.
Change-Id: I80f4822b37c920f37b70162890c02369b2972ee9
CRs-Fixed: 2000089
Converged pdev_detach is responsible for freeing the context.
Legacy api needs to conform. Now the removal of the pdev from
the cds context needs to be done with the api that does not free
the context.
Change-Id: I4430a3bae1658e4e1accc457a572c67c9ce6f58f
CRs-Fixed: 2000089
Doing mem_init first allows other qdf_features to allocate
memory for profiling and tracking using the qdf_mem_alloc
apis.
Change-Id: Id4f830a83a745763058ff2f05138b80558fe1d1f
CRs-Fixed: 1100552
Swith to new recovery APIs with dev instance and recovery reason.
As recovery could have different mode and be target specific.
Change-Id: I26a1a2a0d23a687a5babcaf4ba4e5c6e788fedac
After control path scheduler componentization CDS message queue
APIs are no longer used hence remove obsolete CDS mq APIs from CDS
module.
Change-Id: I7d83783d9fd126bb8b17a5c3292eac91c0966280
CRs-Fixed: 1114375
After control path scheduler componentization CDS message queue
APIs are no longer used hence replace CDS mq APIs in SME by
scheduler mq APIs.
Change-Id: I645209741a602798fc077a50ac66de198e292038
CRs-Fixed: 1114363
When MAC0 is in 2.4G and new connection is coming in 5G, then MAC0
connection is shifted to MAC1, and new connection comes in MAC0.
But in this process, cdp_update_mac_id() is not called while
shifting from MAC0 to MAC1.
Fix is to call cdp_update_mac_id() after hw_mode change occurs
in the firmware, thus updating mac_id and corresponding vdev_id for
the interface whose mac_id or vdev_id get shifted.
Change-Id: I294c26f7d5054e42cdc116e8ae878954904056b5
CRs-Fixed: 1109511
After control path scheduler componentization CDS message queue
init/deinit APIs are no longer used hence remove them.
Change-Id: I65c14872bf20412eb1014deac0172f2bfacc0f0f
CRs-Fixed: 1111033
for policy manager component, unit test framework has been created.
this unit test framework can be enabled or disabled through Kbuild
flag. As policy manager is matured, unit test framework needs to
be disabled.
While disabling unit test framework, couple of compilation errors have
been observed. Fix those compilation errors.
Change-Id: I2a3ee57cc082e5ebc598f0aea2d05f31fb878732
CRs-Fixed: 1110876
Add vendor abort scan which takes adapter and scan
id as input. Supplicant may abort a scan if a
preferred AP or P2P peer device is found.
Change-Id: Ia9cbf4bb38d2111b1fcf42a1e1f51d1049f5a9ab
CRs-Fixed: 1090800
Traditionally full spectrum scan on STA/CLI is not allowed when SAP/GO is
already present on DFS channel.
With new generation of hardware, agile scan and agile DFS scan features
are supported which will allow hardware to do full spectrum scan even if
SAP/GO is present on DFS channel.
Change-Id: I7e5a21601642e0d6afef73beeecf80a3e0475909
CRs-Fixed: 1103730
Fix the way DBS capability is read from FW dev cap. Also, add HW mode
request for 2x2 DBS.
Change-Id: I935a2d0f4a7eed1517a3263fb8b29838f135f91e
CRs-Fixed: 1068000
Change the timeout values at HDD to match sme cmd timeout in all the
instances where HDD is sending cmd via SME command queue.
Change-Id: I00337169804b9ce71562cb114e4c2b92a7534dba
Crs-Fixed: 1100854
In the present scenario driver checks for eTDLS_SUPPORT_DISABLED
before enabling the connection tracker for tdls mode. But if the
tdls is disabled from the ini or disabled in the firmware eTDLS_SUPPORT_NOT_ENABLED
is set in the tdls_mode. Checking for only eTDLS_SUPPORT_DISABLED is resulting
in enabling the connection tracker which tries to access the tdls_ctx
which is NULL.
To mitigate the issue also check for eTDLS_SUPPORT_NOT_ENABLED in the tdls_mode
before enabling the connection tracker.
CRs-Fixed: 1096830
Change-Id: I1e13af6b63aa058c19117efa99563540aa02da0b
API cds_flush_cache_rx_queue() is added as part of propagation
from qcacld-2.0. This function does not belong in CDS but
instead belongs in TXRX because corresponding function in
qcacld-2.0 is tl_shim_flush_cache_rx_queue() which is a datapath
function.
CRs-Fixed: 1106306
Change-Id: I6ca10fa9ebb7ad7cdc0b54ff7ed2cc0595b7d82d