qcacld-2.0 to qcacld-3.0 propagation.
WMM should be enabled if HT caps are present even if WMM ie is
not present in beacons/probe response frames. In few places it
is not taken care. This commit will address the issue.
CRs-fixed: 873761
Change-Id: I985b7721fc28c9b7d087123c6cff9d76f93696d5
qcacld-2.0 to qcacld-3.0 propagation.
Send tdls mgmt frames with VI tid to give more priority
to tdls mgmt frames.
CRs-Fixed: 873749
Change-Id: I9196680f09678185c1010b472851c1aca00b1635
We already know kernel version is more than equal to 3.10.
So remove static checks for any previous kernel.
Change-Id: I4e17614fae47782a02dd528c7b4adf3d2802ec69
CRs-Fixed: 920681
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
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
qcacld-2.0 to qcacld-3.0 propagation
Add new RTT related wmi interface changes to support
TLV based messaging.
Change-Id: I0591907984c3c58039a06ce123dca777d24c590f
CRs-Fixed: 865207
Fix mangled APIs sme_configure_ext_wo_w,
sme_process_ready_to_ext_wo_w and
lim_remove_timeout_pbc_sessions which were introduced
while converting the names programmatically.
Change-Id: Ie0a79b476a99bf1be0411dae0542359e7d58141a
CRs-Fixed: 882962
qcacld-2.0 to qcacld-3.0 propagation
During SSR, Host is sending packets to firmware before WMI_READY_EVENT.
Fix is to avoid sending tx when logp_in_progress & clean ll-queue
packets in shutdown.
Change-Id: Ib6b9f4d51f2aa7f85d384831818b45763c702c88
CRs-Fixed: 834887
qcacld-2.0 to qcacld-3.0 propagation
Multicast packets using different sequence number space
gets dropped on the host due to the existing logic of
running duplicate detection check and out-of-order packet check
on all non-aggregation (legacy) TIDs, since f/w uses a
special (non-aggregation) TID (18) to indicate these packets
to the host, irrespective of sequence number space.
The fix is in 2 parts:
1) Do only duplicate detection on mcast packets & not out-of-order check
(Also do dup-detection only if retry bit is set)
2) Instead of using mcast TID indicated by f/w, use the actual
packet TID from the Rx descriptor to perform the duplicate detection
and use a separate (new) field in rx_reorder_array to store
the last successful mcast sequence number. On the next mcast packet
perform the duplicate detection against mcast sequence number, rather
than the ucast sequence number.
Change-Id: I4c3542e82a1917b4ed27513e9244702bb212df88
CRs-FIXED: 788954
qcacld-2.0 to qcacld-3.0 propagation
In Low-latency interface, to avoid 1d2 happening during roaming
test, host need to send HTC header to fw, by setting SendFlags
to zero to avoid deadlock situation.1d2 happened during roaming
test.
Change-Id: Ib3d16deadf038708fb75bcba692bd6adf3959c4e
CRs-Fixed: 807505
qcacld-2.0 to qcacld-3.0 propagation
STA gets disconnected with AP IPTIME N904NS when AP is configured
for WPA1 + TKIP on CH 161.
Return value of memcmp function must be checked with NOT operation.
Change-Id: Ic866a70917c1e713855c28a8f156ffe7c381fa07
CRs-Fixed: 642070
qcacld-2.0 to qcacld-3.0 propagation
Current implementation defers all the received frames
when ADD TS request is sent out over the air. This,
in addition, to check for pMac->lim.gLimAddtsSent
incurs delay, till ADD TS response timeout, in processing
of the ADD TS response received if SET_LIM_PROCESS_DEFD_MESGS
is set to FALSE. As there is no rationale defer processing
of Rx frames while waiting for ADDTS response, changes are
made to not defer processing of RX frames for the same.
Change-Id: I1d1a41a0e3555ae19548a0cabf3b9569af775f72
CRs-Fixed: 839546
qcacld-2.0 to qcacld-3.0 propagation
STA gets disconnected with AP IPTIME N904NS when AP is configured
for WPA1 + TKIP on CH 161.
Change-Id: Ifa30ed624c1f9f3c549def45cdb9e5f8ebfae233
CRs-Fixed: 627650
qcacld-2.0 to qcacld-3.0 propagation
This reverts Change-Id I858cd3cbd536ec189ea808c5d637abffe388f7aa.
With change id I858cd3cbd536ec189ea808c5d637abffe388f7aa,
host is not sending WMI_STA_UAPSD_AUTO_TRIG_CMDID command to firmware
during disable UAPSD per AC.
Change-Id: Ifdbcd6926ca86b1baeeadcf7a4720e460d41a6e5
CRs-Fixed: 911229
This is qcacld-2.0 to qcacld-3.0 propagation
Avoid invoking vfree inside spinlock during logging service
activation and deactivation. Since vfree is prone to sleep, this
disables the IRQs for duration longer than the acceptable limit.
vfree can be done without spin lock here, as there is no
synchronization issue in this scenario.
CRs-Fixed: 914363
Change-Id: I4d69431a98a4e4301dfc1e2b3b4c40c408a7ef99
For OEM to do OTA tests, power save, background scan, and low RSSI
scanning need to be disabled and it should be done dynamically.
Implement a vendor command to enable and disable OTA test mode.
CRs-fixed: 941776
Change-Id: Ic9da11cf5f4bb19a01d9b55c50c0aea196abbfb6
In P2P GO + GO concurrency case, only DBS mode is supported for
the two interfaces. Second P2P GO interface startup is blocked
if its channel is on the same band as the first P2P GO interface.
Change-Id: Ic85bd8f92983c8c08f61fdaf09be1ad13a17cd8f
CRs-fixed: 945804
qcacld-2.0 to qcacld-3.0 propagation
Default value of Tx beamformee is 0.
As as part of fix, enable the default value
of Tx beamformee.
Change-Id: Ib4b30f2a925e95cd96cc789ac7bc223274fa6a67
CRs-Fixed: 921834
qcacld-2.0 to qcacld-3.0 propagation
Currently tpAniSirGlobal pnoOffload value is initialized with
FW caps first time only and resetting to 0 while starting a bss in
go mode. Existing value of pnoOffload is not retained while
getting config for tSmeConfigParams.
Added changes to retain current value of pnoOffload from
tpAniSirGlobal while getting config for new tSmeConfigParams.
Change-Id: I0eda12ec1c69aeca4465d41f3e3ba96b8e1944cb
CRs-Fixed: 913994
qcacld-2.0 to qcacld-3.0 propagation
Add support to parse operating class from xcsa frame and select
channel bandwidth on basis of new operating class.
Change-Id: I33d794e77220ef82cca793767d459979eb940669
CRs-Fixed: 942104
qcacld-2.0 to qcacld-3.0 propagation
Currently there are many LL stats related logs
which doesn't provide any useful information.
As a part of fix, remove all those redundant logs.
Change-Id: Id1a89f209cfb57646828c5ee059f6f3790aac1c0
CRs-Fixed: 903941
qcacld-2.0 to qcacld-3.0 propagation
In Stop Adapter IBSS mode is not handled properly and
no DEL BSS is sent for the connected IBSS before DEL SELF STA.
This may lead to crash in FW.
As part of fix handle the IBSS mode and send DEL BSS if IBSS is
connected.
Change-Id: Ice1304aced1a158c7b589a95337412cda0183a04
CRs-Fixed: 908990
qcacld-2.0 to qcacld-3.0 propagation
If deauth is received just after Assoc rsp from AP in addSTA
response Re/assoc confirm is sent with status failure.
But protStatusCode in assoc confirm is not updated and thus the
pRoamInfo->reasonCode may have garbage value.
In case of Wep connection failure reason code,
pRoamInfo->reasonCode, is sent to the supplicant in connect
result. Now if pRoamInfo->reasonCode is 0 supplicant receives
connection success though connection have actually failed.
To avoid this update protStatusCode, before sending Re/assoc
failure.
Also properly derive if connection is WEP from roamProfile before
clearing it.
CRs-Fixed: 926572
Change-Id: I5ae0832d37746be16696f521bddd5b67307b1ee4
wdi20 enable implementation for hsoffload. Large physical address
support and wdi20 interface propagate to IPA.
part of HDD and CDS
Change-Id: Iaccab3ae233e0b9a8e4942bee0ebaa40ce94fc16
CRs-fixed: 941041
wdi20 enable implementation for hsoffload. Large physical address
support and wdi20 interface propagate to IPA.
This is part of HIF and DP.
Change-Id: If898f03a8a75689c98c70d1e55910f476d8fe329
CRs-fixed: 941041
qcacld-2.0 to qcacld-3.0 propagation
IPA pending_event list keeps IPA events arrived while IPA resource
loading/unloading.
This list is freed only when TX/Rx resume/suspend OP code from FW.
This change is to limit the pending event list size and free up the
pending event list when WLAN driver is unloaded.
Change-Id: Id0489a59bd3c2b04d2faba1069df7b2244a2a730
CRs-Fixed: 937765
qcacld-2.0 to qcacld-3.0 propagation
In the case of SAP + STA mode we fail to enable PNO on the STA interface,
and as a result the PNO feature will fail to find a network and wake the
host. Fix this by making sure PNO is configured in all appropriate
concurrency cases.
Change-Id: I97084cfde73025f0d09b60616959c9530ba82c80
CRs-fixed: 921150
qcacld-2.0 to qcacld-3.0 propagation
While processing GET STATES IOCTL, in a while loop, HOST prints PE, LIM
and MLM states of each session. Normally while loading, HOST allocates
memory for five sessions, but while processing this IOCTL, it iterating
in a loop assuming there are 255 sessions allocated, leading to crash
because of invalid memory access.
Hence while printing PE, LIM and MLM states iterate only for allocated
number of sessions.
Change-Id: I29c9a627615a1983d23831578f45aefe116dac25
CRs-Fixed: 879950
qcacld-2.0 to qcacld-3.0 propagation
Add support in driver for a new vendor command to get
the link properties nss, rate flags and operating
frequency.
Change-Id: Ie3b8d5b2c3886055d303441c5d8b2f2a0a2719bd
CRs-Fixed: 834199
qcacld-2.0 to qcacld-3.0 propagation
PE generated disassoc request is not serialized in SME queue. This
results in corrupting 'lim.limDisassocDeauthCnfReq.pMlmDisassocReq'
which is a global context to save disassoc request.
Address the above by indicating all the PE generated disassoc requests
to SME and process disconnection request only after receiving
eWNI_SME_DISASSOC_CNF from SME(similar to that of processing disassoc
request from peer).
Change-Id: I2b93925ba64c4d9ff22b071dd2e5c7681be59e15
CRs-Fixed: 934183
qcacld-2.0 to qcacld-3.0 propagation
Honor NL80211_SCAN_FLAG_FLUSH scan flag by flushing
sme and lim scan cache entries.
Change-Id: I1ff59e583f815bfec2df458c58a40b30b7bffa00
CRs-Fixed: 934979
Currently as part of application triggered channel switch both the
channel bandwith and bonding mode are limited to 20MHz.
Change made to properly update the channel width and bonding
parameters.
Change-Id: I48297eed74c9e3bfed6fefa67f664f3503fac1f6
CRs-Fixed: 944647
qcacld-2.0 to qcacld-3.0 propagation.
Too many log prints are seen if mtrace are dumped and this cause
WD bark.
To avoid this lower the log level of mtrace to Info.
Change-Id: I05d3fa8b3494785a1933f159280b6c9ba6923c0d
CRs-Fixed: 926416
Propagation from qcacld-2.0 to qcacld-3.0
Added sanity checks for below variable before accessing in the
driver exit path.
nl_srv_sock
pdev_txrx_ctx
Change-Id: I793db21e1a6d1eded027ecbd2805494ea7610852
CRs-Fixed: 846457
qcacld-2.0 to qcacld-3.0 propagation
Create a configuration item to program the first bucket
threshold of the scan results to have the flexibility to
adjust the first bucket threshold.
CRs-Fixed: 922979
Change-Id: I6fad27a2990f7555173e4735131e8392d0277009
1) Check for bssid if it is NULL, before dereferencing it.
2) Check for hal_ctx if it is NULL, before dereferencing it.
CRs-Fixed: 940721
Change-Id: I836416a4717b15902e8b8f27fa2e5e5e7935c12f
Target_lock was a global lock for all target and copy engine data
structure access. Replacing target_lock with a per copy engine
lock permits paralel completion handling for different copy engines.
Change-Id: I9c09d557c85f9e48beafe5e3f936e105183ddd3f
CRs-Fixed: 941355
This is called by the platform driver in case of kernel panic.
Replacement syncronization might be needed here if the kernel
panic doesn't stop the other host cpus before the platform driver
calls this.
Change-Id: Ic6d4eb1cb08f6363029463994ec7e3837212e271
CRs-Fixed: 941355
If watermarks are going to be used, the should be set as part of a
single threaded initialization sequence.
Change-Id: I3e1e9cd0f55f46d9f46718c139963931311fe8ae
CRs-Fixed: 941355
No other thread should modify the copy engine indexes while we
are cleaning up the data structures.
Change-Id: I324286c3a8eed24ddd94aa868dbaac425cc30dbf
CRs-Fixed: 941355
Remove ce_disable_any_copy_compl_intr and
ce_enable_any_copy_compl_intr since they aren't
used and give a false sense of thread safety.
Modifying copy complete interrupt currently needs
to be synchronized with completion handling.
Change-Id: Ieb27a8c71363ebd56f16eda9e1037a161a5eeb62
CRs-Fixed: 941355
Send and recv callback registration currently occurs durring init
and after bmi download is complete. In either case no transactions
are in progress and no race condition can exist.
Similarly watermark callback registration would happen at the same time
if it were used.
Change-Id: Ia77bf30fb3bcefa500465cea9ad9927990bb7ced
CRs-Fixed: 941355
Download length should be set before messages are recieved, so
no race condition should exist.
Change-Id: I92de4b3c4077f23032df45ceca6e169616351b8b
CRs-Fixed: 941355
FW is asserted, dont service the messages. The hif completion
thread used to prevent processing of messages when firmware crashed.
Change-Id: I42a5a285056e989d302e766f2922bb7c114634dc
CRs-Fixed: 941358
ce_enable_msi should happen before interupts are enabled. Therefore
we should be single threaded here and don't need to protect access
with a spin lock.
Change-Id: I24feec02003bdb402201d71d1cd5254dacae0b72
CRs-Fixed: 941355
ce_init should happen before interupts are enabled. Therefore
we should be single threaded here and don't need to protect access
with a spin lock.
Change-Id: I5e1cfd32860eeda8a403744cf1589e35c57ee6df
CRs-Fixed: 941355
We want to process the completions in parallel.
Upper layer should take care of its own thread safety.
hif_completion_thread is a legacy function that does in
context serialization of hif completions. Bypass it.
Change-Id: I7953545b55dae093931741359bbf985e2fb9faca
CRs-Fixed: 941358
This patch enables gEnableTxSUBeamformer by default in config ini
which will help to uncover some of the bugs in default DEV testing.
Change-Id: Ib64d53d307aced8f5384d691a3d7f4b383d52a0f
CRs-Fixed: 930322
This is qcacld-2.0 to qcacld-3.0 propagation
Currently in SAP mode, if max STA connected a operation to turn off
SAP will result in more than SME queue length cmds being enqueued.
To fix, this patch:
1) Makes the SME cmd queue length, 3 times the max STA.
2) Because of increased SME cmds, the allocation for all cmds
together will fail, hence allocate each SME cmd individually
and free them accordingly.
Change-Id: Ia1dfc5b00eacd9bdb503ce18927c62f1edd15320
CRs-Fixed: 928840
This is qcacld-2.0 to qcacld-3.0 propagation
Currently driver drops the action frame category 18 - FST action frames.
This patch adds support for these frames in wlan host code.
Change-Id: I7021e328b7ebe9a1e46f526e3928c7d1279e1ad7
CRs-Fixed: 921117
This is qcacld-2.0 to qcacld-3.0 propagation
When STA is connected to 160MHz AP, channel width is updated to
20MHz since the 160MHz channel width is not handled.
Add support to handle the 160MHz BW in beacon IEs.
Change-Id: Id13164762d6da142093f049121440ce976cecfc1
CRs-Fixed: 924219
qcacld-2.0 to qcacld-3.0 propagation
As part of cleaning up pending action frame, if timeout happens
for tx cnf event then indicate tx failure status as FAIL and free
cfgState->buf to avoid memory leak.
Change-Id: I6caaa8efeab769cce8c4cdfcc868101e63fd8e76
CRs-Fixed: 880779
qcacld-2.0 to qcacld-3.0 propagation
Channel bonding mode in not valid for channel 14. So don't
consider it while deriving the channel bonding mode.
Change-Id: I7ceae149cdd9e2f3c75f937c56cc5e93455fa8ee
CRs-Fixed: 908439
qcacld-2.0 to qcacld-3.0 propagation
On receiving channel switch announcement from AP delete all TDLS
peers before leaving BSS and proceed for channel switch.
Change-Id: I898f501d9d0afbbfef3a553ed63b52da5cd8f978
CRs-Fixed: 914129
qcacld-2.0 to qcacld-3.0 propagation
Few STA/P2P-client's are sending assoc req frame and waiting for
300-500ms. If they don't receive the assoc resp frame within
this time then they resending the assoc req frame. These frames
are not going to have retry bit set.
In the current design host driver is not handling these duplicate
assoc req frames without retry bit set.
To mitigate this issue, while processing assoc request frame,
if pStaDs entry already exists then send assoc response with
same tid and stop processing the assoc req further.
Change-Id: I6d67f4cd352bbee422301b832742e7386666037f
CRs-Fixed: 868736
qcacld-2.0 to qcacld-3.0 propagation
TX flow control timer initialized when STATION interface is created.
During IBSS startup, STATION interface is changed to ADHOC type.
TX flow control timer is not required, so close tx flow control
and destroy timer.
Change-Id: Id9c440638964fb3ab0e95d8a7c747708886a94ff
CRs-Fixed: 882821
qcacld-2.0 to qcacld-3.0 propagation
1.Provide off channel and operating class info to user space
in HAL API wifi_get_tdls_status. If off channel is not enabled
then provide base channel info and in that case pass opclass as 0.
2.Provide correct tdls state based on tdls off channel
configuration.
Change-Id: Ic60500b95ebddcb88b4e03f29178068c5322b2b9
CRs-Fixed: 838167
qcacld-2.0 to qcacld-3.0 propagation
When disassoc request is received from peer and at the same time
if deauth request is received from supplicant, LIM cleanup
may not happen properly as there is a chance of session deletion
in limSendSmeDeauthNtf while cleanup in progress from
limProcessSmeDisassocCnf. This can result in not sending delbss to FW.
Hence, FW can crash when config bss is sent for new connection.
Following changes are added to handle this.
1. Add state eLIM_SME_WT_DISASSOC_STATE in __limProcessSmeDeauthReq
and allow host to post LIM_MLM_DEAUTH_REQ instead of invoking
limSendSmeDeauthNtf, where session is deleted.
2. Send eWNI_SME_DEAUTH_RSP if cleanup is already in progress to avoid
cleanup again. If mlm state is not eLIM_MLM_LINK_ESTABLISHED_STATE,
then it means cleanup is already in progress.
3. Return from __limProcessSmeDisassocCnf if cleanup is already in
progress.
4. Add check in limProcessMlmDeauthCnf to send deauth confirmation even
if state is eLIM_SME_WT_DISASSOC_STATE.
5. Add similar checks in limProcessMlmDisassocReqNtf to handle disassoc
from peer and supplicant simultaneously.
Change-Id: Ie19a7b79d835a5e5a77ef48f9379c1cf90dc38d7
CRs-Fixed: 878334
This is a qcacld-2.0 to qcacld-3.0 propagation.
The problem with the current code is we are finding whether connected or
pno_in_progress or extscan_in_progress in the same for loop and whenever
one of them matches, we break out of loop. It makes sense to keep
connected flag and pno_in_progress inside the for loop because both are
mutually exclusive. But same is not the case with extscan_in_progress,
this flag can be set to true or false irrespective of connected or
pno_in_progress.
Hence the fix is to move finding extscan_in_progress to a separate for loop.
Change-Id: Ie72ff7f7382adaea5626c0808a206d18c2916e0d
CRs-Fixed: 899322
This is a qcacld-2.0 to qcacld-3.0 propagation.
Currently WOW_NLO_SCAN_COMPLETE_EVENT is enabled on receiving
PNO match found event, but it is never cleared.
This is causing regular host wake ups with the reason
WOW_REASON_NLO_SCAN_COMPLETE even if pno match is not found in the
next successive iterations.
Fix this by enabling/disabling WOW_NLO_SCAN_COMPLETE_EVENT before suspend
based on the flag pno match is found.
Change-Id: I21d73de0c03e0c09b5a91a521d848e71eaf359e0
CRs-Fixed: 888964
This is a qcacld-2.0 to qcacld-3.0 propagation.
With RunTime PM feature enabled, after receiving the PNO matched event
RunTime PM puts the host back in WoW suspend after 500ms (default).
Since WMI_NLO_SCAN_COMPLETE_EVENTID is not a wakeable event, this event
does not wakeup the host hence PNO scan not completed and PNO is broken.
Fix this by making NLO_SCAN_COMPLETE_EVENT a wakeable event.
Host driver configures this WoW event only after PNO match is received.
Change-Id: I81cccc86942fc75bc63235038c50ba6edb0fee8b
CRs-Fixed: 884211
This is a qcacld-2.0 to qcacld-3.0 propagation.
1. Add log to print ssid, bssid, rssi, channel and country code
while connecting to an AP.
2. Add log to print disconnect reason when disconnect request is
received from user space.
3. Cleanup some of the logs moving it to appropriate log level
which are showing up as ERROR level in bug report.
Change-Id: Id8ea69a14a18565c226f89a8a5e10be46741d76d
CRs-Fixed: 914336
This is a qcacld-2.0 to qcacld-3.0 propagation.
Increase the maximum config ini items from 512 to 1024.
Change-Id: I5c4958d5c743f1e0b03a4f7b41e21ff9787ccd07
CRs-Fixed: 914336