qcacld-2.0 to qcacld-3.0 propagation
Fix incorrect completion of pending CONS RM request/release
notification, which is sent when receiving PROD RM notification
from IPA. Also cleanup pending CONS request flag when IPA resource
loading/unloading is compelted.
Change-Id: Ie37b7d21e1ad016dbaf9aa0f89c97402911b4a02
CRs-Fixed: 943635
qcacld-2.0 to qcacld-3.0 propagation
When IPA requests WLAN CONS resource while IPA resource loading is in
progress, resource will not be granted even after the loading is
completed. This will eventually result IPA uC timeout.
Change-Id: Iae8373c43709cbbccef790973642f5992ddcd359
CRs-Fixed: 943635
qcacld-2.0 to qcacld-3.0 propagation
Since CLIENT_CONNECT message is sent to IPA before enabling WDI pipes,
CLIENT_CONNECT message count could be more than CLIENT_DISCONNECT
count, and this could cause an abnormal behavior in the IPACM.
Change-Id: I03d30c7f82aadf83979084b7e65b8ed14565588d
CRs-fixed: 941894
Module_init waits for probe to complete after registering the
driver. But this is unnecessary and module load is intended for
loading the module but probe would be called when hardware is
ready. Remove the wait during module_init.
Change-Id: Ic2fe7efa78a1527acf1fd5b7689d70f6d450ccd3
CRs-fixed: 950170
In module init, bunch of initializations are done which are not
required till probe call back gets called. Also in module exit,
some clean-up done which should wait till remove call back gets
called. Move the initialization done in module init to probe call back and
clean-up done in module exit to remove call back.
Change-Id: Id4a0cb21300de1ceab8ed043638b735f31d516d4
CRs-fixed: 950170
For statically linked driver, con_mode is used for moving from
machine mode to FTM mode but it has conditional compilation
issues. Fix the conditional compilation to properly compile when
FTM feature is enabled.
Along with it, unify the usage of con_mode such that
curr_con_mode is the variable which holds the connection mode
passed as part of module parameter as well as set by the driver.
Change-Id: I7d6a5c9b82d1dbb727208caca78089d6be357e71
CRs-fixed: 950170
Move module init/exit related implementation together and at the
end of the file.
Change-Id: I17a02e4fdddc17fc3a725c29e89a52f5bd9d49b9
CRs-fixed: 950170
qcacld-2.0 to qcacld-3.0 propagation.
FW checks the peer Rx LDPC capability in ht and vht capabilities
to do Tx LPDC. But host sets the Tx LPDC flag in peer_flags.
To disable Tx LDPC reset the Rx LDPC capability in peer ht
and vht caps based on Tx LPDC configuration in INI.
Change-Id: I211fd73fd70a35faaf4cfc2c5dc8d842c7ff1e5a
CRs-Fixed: 894306
LFR3 to indicate the change in IP subnet to user space (supplicant).
This enables the DHCP refresh in case of IP subnet change during
roaming.
Change-Id: I9842a28461346fe97ab39f5a11ae504f2e32fa16
CRs-Fixed: 876335
Add handler for gateway parameter request vendor command. The
request is issued to update the gateway parameters to be used
during subnet detection post roaming.
Change-Id: I848f24b36a1d65a0e8bb8465b2b6f2016cb2224c
CRs-Fixed: 876335
Add LFR subnet detection support to protocol stack and
device access layers. In LFR3, the device may perform multiple
roams (may be across multiple IP subnets) without the knowledge
of wlan host. The LFR subnet detection feature enables the device
to regain IP connectivity if the firmware has roamed across the
subnets which otherwise is not possible without disconnect and
reconnect.
Change-Id: I60959af8b6ed330313a7f08f8aa1edfb63938bb8
CRs-Fixed: 876335
Add an INI item to configure LFR subnet detection feature.
LFR subnet detection is enabled by default.
Change-Id: Ifb4bba60dfcd0347137f4a690db50b0c453d1ae8
CRs-Fixed: 876335
At present and going forward ESE and ESE_UPLOAD will be the
de-facto approach of supporting ESE.
There is no support for #ifndef FEATURE_WLAN_ESE_UPLOAD block of code.
Hence clean up this code.
Change-Id: I1e1307ec3430353496b1cf7aaa2eb5291ca1d5b2
CRs-Fixed: 949634
Currently tx STBC param sent to FW is taken from peer's response frame, which
is wrong if current hardware does not support 2x2 for given channel width.
Update the driver to check number of tx stream for current vdev and clear txSTBC
if needed.
Change-Id: If05e5de72ba5af95b343817d811db0f413493ee1
CRs-Fixed: 941217
qcacld-2.0 to qcacld-3.0 propagation
Fix soft AP to not send Assoc response for Assoc req which is
unprotected and initiated by an injector rather than a testbed
station.
If STAUT sends duplicate Assoc request, Assoc response should
be sent only in case of non-PMF connection.
Change-Id: I6fb4c139af333c937e767cb111df4d1d69bddbd9
CRs-Fixed: 902969
qcacld-2.0 to qcacld-3.0 propagation
Add configuration option for mpdu density through INI. Update
the default value of mpdu density from 0 to 7.
Change-Id: Ib97869d4aec160065c945cd62876d6fd191d63a5
CRs-Fixed: 941182
qcacld-2.0 to qcacld-3.0 propagation.
Current TDLS default teardown interval does not work in
all the scenarios. Hence, change the default teadown
interval to 5 seconds and default TDLS idle packet
threshold to 3 to support all TDLS use cases.
Change-Id: Idf8b4cd02963d24350a1322ac4c7465fbfc7204f
CRs-Fixed: 936003
qcacld-2.0 to qcacld-3.0 propagation.
Add new TDLS mode for TDLS external control operation to
achieve power save on the target. Firmware will use this mode
to control timers precisely and save the power.
Add configuration "gTDLSPeerKickoutThreshold" to fine tune
TDLS peer sta kick out operation.
Change-Id: Ie941f93b54983ca6323ef4384a66e0807a56a7b1
CRs-Fixed: 929749
qcacld-2.0 to qcacld-3.0 propagation.
Firmware uses same notification interval to send trigger to the
driver for both TDLS setup and TDLS teardown operations. In ideal
scenario firmware needs to have an option to configure different
values for TDLS setup and TDLS tear down operations. This change
will enable firmware to have different values for setup and
teardown operations.
Change-Id: I300350c56d4ef23993953338529f29df2ea122a1
CRs-Fixed: 920835
Currently the HDD code uses a variety of logging APIs. In qcacld-3.0
HDD should converge on a unified set of logging APIs. Update
wlan_hdd_green_ap.c to use the unified set of APIs.
Change-Id: If58683a833b1650a6cbea147debcead2551697da
CRs-Fixed: 937202
- Athdiag debug support is enabled for PCIe devices but disabled
for integrated SNOC devices like iHelium.
- Enable athdiag debug feature support for SNOC devices as well.
Change-Id: I73ce74286bf59147e45868e424de4ee1bc858ca0
CRs-Fixed: 948890
Propagation from qcacld-2.0 to qcacld-3.0
- WLAN firmware does not support get/set operations for power
gating VDEV parameters
- Remove support for power gating VDEV parameters from WLAN host
driver
Change-Id: I5b262b71364c11f648b579a8bdb6fa993ecb4a81
CRs-Fixed: 880180
qcacld-2.0 to qcacld-3.0 propagation
Sometime the thread sleeps in kzalloc for long time, resulting in
thread stuck.
This change prints time taken by kzalloc, if time taken is more
than 3 seconds.
Change-Id: I027ab2ad4e93f8a02ba9e48e47d7aa3123785a31
CRs-Fixed: 926479
qcacld-2.0 to qcacld-3.0 propagation
Too many log prints are seen by default if unhandled action frame
are received.
This change lowers the log level for unhandled Action frame logs.
Change-Id: I4af258eed12c2f352f97df0f73e9ab0c6278a437
CRs-Fixed: 924661
qcacld-2.0 to qcacld-3.0 propagation
If connect is received and queued to sme pending list while scan
is in progress in sme, once scan is completed, again scan is
queued to get the scanned channel info with reason
eCsrScanGetScanChnInfo behind connect command.
Connect is executed next with scan command in pending queue.
Now if disconnect is received from hdd it is also queued in sme
pending cmd list behind scan.
Once connect is executed the wait for key state is set and wait
key timer is started. As only disconnect and set key command are
allowed in wait for key state, the pending cmd queue is not
executed with scan command at the head and thus the disconnect is
not executed. Also as supplicant has issued disconnect, no keys
will be set and pending command queue will not be processed till
wait for key timer expires.
If during this time unload starts all the commands including the
disconnect command sme pending queue are flushed and thus no
DEL BSS is sent to firmware before HAL STOP which leads to crash.
To avoid this add disconnect to the head of sme pending command
list so that disconnect can be processed after connect during
wait for key state.
Change-Id: I333e7b103ac10e368d34b5bf8b87cc360650cd50
CRs-Fixed: 930713
Since management frames have been added to the wmi pipe,
the wmi pipe may fill up before the driver schedules the
tx completion processing.
Make tx completion processing use the DDR ce index to
avoid register access durring reaping.
Change-Id: I213aa0274d3c66e583bcdb700ced1133c2c30ebc
CRs-Fixed: 945831
Fix WMI command path Tx failure case:
1) Current WMI command path frees the packet with dummy completion when hif
fails to send the packet down. Fix it by putting back cmd to endpoint
Tx queue for retry.
2) Also separate WMI mgmt command/event log buffer from control path
command logs
Change-Id: Icc3f7fde10a592de3c5354ba720d6810ce1b635a
CRs-Fixed: 940100
Ignore HTT_T2H_MSG_TYPE_MGMT_TX_COMPL_IND from firmware if
management over WMI is enabled.
Change-Id: Ic196d17526c251ae26dd59ca2f42b7bff9a46ffe
CRs-Fixed: 949946
Do not reserve tx descriptors for management packets
if management over WMI is enabled.
Change-Id: Iafe758d91d11f4875e3152d92538055784490a14
CRs-Fixed: 949917
Use list_for_each_entry_safe API to traverse list
while deleting list entry in cds_drop_rxpkt_by_staid
to avoid crash.
CRs-Fixed: 943767
Change-Id: I4d09fd88f0faefacfc886866d9045b09feeb4432
Remove per vdev tx descriptor pool feature as
it is applicable only for High Latency.
CRs-Fixed: 916724
Change-Id: I22ab3dd187518790694356bdde8475b194845bf5
a) Enabled flow control
b) Add small helper functions to avoid duplication of
code.
c) Fix thermal mitigation unpause issue with flow control.
CRs-Fixed: 916716
Change-Id: Ic02b66d1c23768a1c71dc08ed50dcedd02b647ce
This is a qcacld-2.0 to qcacld-3.0 propagation.
QCACLD firmware already addresses power concern during PNO scanning by
extending fast_scan_period, slow_scan_period and fast_scan_max_cycles
configuration which need to be set by the host driver.
Add the host driver support to do the same.
Description:
1. fast_scan_period: This is the fast PNO scan period. The scan interval time
sent down by the supplicant is assigned to this.
2. fast_scan_max_cycles: This parameter tells firmware to switch from
fast to slow scan period after this many number of fast_scan_periods
has elapsed.
3. slow_scan_period: This is slow PNO scan period with which scan happens
less frequently to save power. Once the FW switches from fast to slow period,
it remains in slow scan period until next PNO Start.
cfg.ini items:
1. Repurpose gPNOScanTimerRepeatValue to fast_scan_max_cycles.
2. Introduce new cfg.ini gPNOSlowScanMultiplier to act as multiplier of
fast_scan_period.
Change-Id: I453f09d42be3228ecc9c5023eca26eae1e589d6a
CRs-Fixed: 902381