Currently wait for timeout happens in module_init which blocks
the driver loading in case of static driver
To mitigate this issue, wait is added in state ctrl param for DLKM,
static and load once and unload never driver types.
Change-Id: I1c2e427df3faa3cf68295868f6d98746e481987f
CRs-Fixed: 2012813
Changing the method DP queries WMA regarding
DBS capability. Now his call will be made through
policy manager.
Change-Id: I32cd92f022cdfcffa8659344731223fefc6efc23
CRs-Fixed: 2025317
For regulatory offload, send the regulatory config settings to regulatory
component to compute the current channel list. Query channel list for
each band. Populate the channel list in wiphy. Also do not register
regulatory notifier with the kernel anymore.
CRs-Fixed: 2008013
Change-Id: Ia4995c7498d97fe1e37717e65daa9dcacb2f21b3
cds_sched_open is invoked as part of hdd_wlan_start_modules and in case
of failure the cds_sched_close depending on the driver_State should
be closed as part of hdd_wlan_start_modules failure.
When the driver loads during the low memory condtion and if there
is any failure in the hif_open or cds_open start_modules returns
failure and as part of the failure cleanup cds_sched_close is getting
invoked which is waiting on completion for couple of events which
will not be set.
To mitigate the issue donnot invoke the cds_sched_close clean up during
the startup.
Change-Id: I51c67e7c723a06a8270c424f7e16ea45c6cd4012
CRs-Fixed: 2019986
qcacld-2.0 to qcacld-3.0 propagation
Currently if acs configs channel width as 40/80MHZ, it may select
invalid channel as its second channel.
When doing sap_select_channel, if acs configs channel width as
40/80MHZ, every candidate channel and its adjacent channel should
be checked whether it can satisfy 40/80MHZ or not. Mark the weight
of the channel that can't satisfy 40/80MHZ as max value
in sap_sort_chl_weight_all, so it will not be selected.
Change-Id: I69abbb752be8d0fae2644a9000156735048d6d16
CRs-Fixed: 1085469
Presently on the re-init failure when the driver tries
to unregister the wiphy during the re_init failure
SSR timeout happens because the wiphy_unregister
would be waiting on the interface opencount to be set
to 0, it would happen only if the netdevice's are de-registered
with the kernel before wiphy_unregister
De-register the interfaces during the reinit failure so that
upper layer is blocked from accessing the driver and also have
a clean rmmod of the driver.
Change-Id: I3d97df19f6c59fcfd1d423d5cc4eae85040d4a97
CRs-Fixed: 2019989
So that wmi handle is still available, move dispatcher_psoc_close to
beginning of cds_close
CRs-Fixed: 2030449
Change-Id: I834c8994cbda4b413288921c3142984014621d65
Add an ioctl that allows a user to dump a specified number of records to
dmesg for WMI and Credit History.
Change-Id: I644dcf5edcb2f875af1e99e7b4677cde37081674
CRs-Fixed: 2028760
During driver recovery, following a crash in firmware, there is a
chance to get stuck waiting for the MC thread to exit after it has
already done so. This is due to an external thread being active in the
driver when it should not be possible. Improve logging in such cases
to find out which thread is running, and skip waiting for MC thread
shutdown if it is already stopped to prevent getting hung.
Change-Id: I53ddc3afb8561ecd2d6b708b6488c503068c49a6
CRs-Fixed: 2027020
Remove reference to legacy policy manager API to cope with
the policy manager moving to host common.
Change-Id: I5d2d4f497b02a4c701cd83e319d533c328be48cd
CRs-Fixed: 2009818
Replace policy manager header file include as part of policy manager
moving to host common.
Change-Id: Ie1f9d6675cc373c3325c9e76514f48299932cdda
CRs-Fixed: 2009818
Remove legacy policy manager code as part of policy manager moving to host
common.
Change-Id: I6cb9fe12bee3702556c9b52e7ccb7c69c762d8de
CRs-Fixed: 2009818
External threads and interface change timer are racing against each other
leading to various side effects. Fix the race condition between external
threads and interface change timer by leveraging existing ssr/driver
unload protection mechanism for module stop.
Change-Id: Ic3d6d516161afee1dd65abb8f1eafe160bea54ff
CRs-Fixed: 2021483
Separate out pdev detach processing as ol_txrx_pdev_detach()
and ol_txrx_pdev_pre_detach() corresponding to pdev attach
functions ol_txrx_pdev_attach() and ol_txrx_pdev_post_attach()
respectively.
Change-Id: I7fdbe70ad8262a57b61a742fcfb2779e323172af
CRs-Fixed: 2010653
Automated code style checker detected multiple instance of "no space
before tabs," so fix those issues.
Change-Id: I93248e3cfafa047c4fa8c9553769f9457086d01a
CRs-Fixed: 2021507
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