qcacld-2.0 to qcacld-3.0 propagation
When SSR happens, IPA WDI pipes may not be enabled yet,
so need to check if it up before disable it.
Change-Id: I5ff643fcf9804dc0933105079f0653884f7d63dc
CRs-Fixed: 938605
qcacld-2.0 to qcacld-3.0 propagation
Change to return -EINPROGRESS if WLAN unable to grant IPA CONS resource
due to IPA resource loading is in progress.
Return -EPERM only if WLAN unable to grant IPA CONS resource due to
IPA resource unloading is in progress.
Change-Id: Iea4d804d3f81b086e723230fb8eddc7d9561d7d1
CRs-Fixed: 926880
Add Profiling stats support in HOST driver to
have CPU based profiling for critical data
path functions in FW.
Change-Id: Ib6d4f0b220f622cf304536c8e538d4dc34c6434b
CRs-Fixed: 921950
Enable classification of IPv6 frames based on the
traffic class field in the IPv6 header.
Change-Id: I4114cb972f61b75da35a225c07f7628d748a744c
CRs-Fixed: 921955
Log timestamp can come from Qtimer or the system timer.
Record the source in a global variable that will be dumped
with the logs.
Change-Id: Ib168cfdc874426e48b12aac89f00d81ffe9e7fa6
CRs-Fixed: 940773
qcacld-2.0 to qcacld-3.0 propagation
while wlan disconnection is happening, in the process of peer-cleanup
check for tqu->prev to be non-null before calling TAILQ_REMOVE.
Change-Id: I5841dfe80b954bdfac5147f5e3e3661cc85ba4b1
CRs-Fixed: 836447
qcacld-2.0 to qcacld-3.0 propagation
tfm is invalid when alloc fails. Set tfm to NULL to avoid freeing
the crypto transform in crypto_free_cipher()->crypto_destroy_tfm.
Change-Id: I3261377f3a7b6ab5740d4144be9e84a1a3a07e42
CRs-Fixed: 809085
qcacld-2.0 to qcacld-3.0 propagation
As a debug enhancement, call vos_assert in vos timer APIs, when
API fails because of unintialization.
Change-Id: Ib7d4c7995a60b23413eead4603b38ff89ff48715
CRs-Fixed: 810282
qcacld-2.0 to qcacld-3.0 propagation
Currently driver logs are routed as messages to CNSS_DIAG so the
Kernel does not print them into the Kernel log. Add a debug print
to display in kernel log when ever the SSR is triggered using iwpriv.
In dog-food testing, this print would help to separate out the
user-triggered SSR scenarios.
Change-Id: I58f247a26e802bced0c226ee92052ca0d69e1554
CRs-Fixed: 844938
qcacld-2.0 to qcacld-3.0 propagation
Reduce the error log level for LOGP in Progress in
hdd_softap_hard_start_xmit to avoid WD bark
Change-Id: I1be5db2eb9b59f22f735f9c21eeac9a81bb246f5
CRs-Fixed: 824309
qcacld-2.0 to qcacld-3.0 propagation
when EXIT_BMPS is pending in activeList, it causes crash
with excess logging for RoamPending list. In this scenario
gTraceTbl has lost SME details due to other MTRACE commands.
Because of which, the issue is not rootcaused.
Add below changes to rootcause if the issue appears again:
1. print only first 5 commands from roamPendingList
2. Bug_on if the commandlist is full
3. Add MTRACE for PMC commands
CRs-Fixed: 833261
Change-Id: Id5bb399c4a8c8e84ddfa121a66881e3ecb901b05
qcacld-2.0 to qcacld-3.0 propagation
Remove cfg entries related to radio measurement(RM).
We have support to enable/disable RM capability through INI config.
We also had entry in cfg static table(cfg.dat). This change set
will remove entries related to RM.
Change-Id: Ic56cc34628cd1c0fb10512069ef6dc5f0eebb887
CRs-Fixed: 924420
qcacld-2.0 to qcacld-3.0 propagation
Remove check for AP's capability information to set station's
radio measurement(RM) capability in Capability Information element.
Change-Id: I6047d4dec19e7cd32d6733e4da773875bbbb31aa
CRs-Fixed: 924420
qcacld-2.0 to qcacld-3.0 propagation
Add support to configure RM enabled capbility information element
through INI.
Using the introduced INI config option(rm_capability), we can set
or unset any bit in the IE. Default value for the config parameter
is set based on rrmInitialize routine.
Change-Id: Ia2a4352760db77ab71dad4757eb603d7539ffefa
CRs-Fixed: 918667
In case of LFR3.0, report the critical roaming events
such as receiving the roam synch indication from firmware,
sending the roam synch complete to the firmware, sending
Hand Over failure event to the firmware to the DIAG modules
for better debug capabilities.
CRs-Fixed: 938002
Change-Id: Icfb4972d59dc3b734ed5af37d70834fea470d741
The SRRI/DRRI can be read from DDR instead of doing an
actual hardware read. This mechanism is compiled out by
default.
Change-Id: I8fc6c8817b5958f3d00b47ccd3dba36b354097e8
CRs-Fixed: 932344
Facilitates faster data transfers. This provides a basis
to start using the other 4 CEs for additional services.
Only adding structure elements to enable these CEs not
really using them yet.
Change-Id: I4be07413de409195ccc717765c75806a1470941e
CRs-Fixed: 938752
qcacld-2.0 to qcacld-3.0 propagation
When INTRA_BSS_FWD_OFFLOAD is enabled, FW will send all Rx packets to
IPA uC, which needs to be forwarded to other interfaces. IPA driver will
send back non-IP, broadcast and multicast packets to WLAN host driver
in exception pipe with fw_desc field set by FW as:
- FW_RX_DESC_FORWARD_M bit: Forward the packet to TX
- FW_RX_DESC_DISCARD_M bit: Do not send the packet to network stack,
which will be set of for intrabss unicast.
Change-Id: Ie2826c8c7b578e3684133a2554ed086e721f67ae
CRs-Fixed: 895662
Change the range of values for early stop scan feature
configuration items as per firmware expectations.
CRs-Fixed: 939185
Change-Id: I7d893cd1ed44a71bffaab22121f052288b14b640
qcacld-2.0 to qcacld-3.0 propagation
HDD IPA event_lock was originally introduced to protect IPA resources
between HDD_IPA events, but this also used to protect HDD IPA internal
struct now. So, this could cause an unexpected deadlock by guarding
too wide resources.
This change is to separate a lock for IPA resources.
Change-Id: Ie9b676e5d4775e54bddf141b841e0f0daeb22731
CRs-fixed: 934723
qcacld-2.0 to qcacld-3.0 propagation
Change cdf_trace_hex_dump to use hex_dump_to_buffer.
This will print one line even if buffer size is less than 16 bytes.
Change-Id: I2dec78048d52f96d494c9e0ce133c4c18f48e954
CRs-fixed: 933157
The Tx & Rx SS macros aren't called with correct parameter in
wma_update_intf_hw_mode_params. Fix the calls to get the Tx & Rx SS values
correctly.
Change-Id: I4df4db549d4bb0c7d00a521de55165bfccf16a65
CRs-fixed: 935341
This is qcacld-2.0 to qcacld-3.0 propagation
Due to cleanup in function limSendReassocReqWithFTIEsMgmtFrame()
assocReqLen was not being set to zero when the corresponding buffer
was NULL. This caused memory copy in buffers being passed between
PE and SME and HDD to be improper. HDD when reading the buffer
wrongly read it from wrong offset and hence RSN IEs being passed to
supplicant are all zeros. This patch fixes this by setting
assocReqLen = 0 when AssocReq buff is NULL
Change-Id: I0edaff93fcdbb2d5ae80478a76f07cb4dee8aceb
CRs-Fixed: 929797
HTC control messages ready and connect service indications use
CtrlResponseBuffer for processing the HTC messages. Flag
CtrlResponseProcessing is used to protect this buffer from
overwriting before processing. Current implementation has race
condition as setting the flag happens on waiting thread context
instead of receive thread context so this could lead to
overwriting the CtrlResponseBuffer if waiting thread doesn't get
chance to run because of may be another RX interrupt.
Also to catch this kind of issues, add CDF_BUG so that it is
easier to triage the cause for the malformed packet which is not
expected.
CRs-fixed: 881504
Change-Id: Ia279e08c761a3432cf01d4dc129f7b5439d04680
Fix compilation issue when ROAM_OFFLOAD is not enabled. There are
issues with ROAM_OFFLOAD feature conditional compilation.
Change-Id: I068245885ab9f054b4c03307a9ecc0066bc88ebe
CRs-fixed: 784982
- Fix a crash seen due to memory being freed twice
- Deregister the LRO flush callback during LRO disable
CRs-Fixed: 933123
Change-Id: I18edadc620da04b9a571da6e1b143c099c308d90
This change is to address a watchdog bite that is seen when
a peer corresponding to the transmit frame is not found in
the OL TXRX transmit path. The change is to log the error
using a CDF trace warning message.
Change-Id: I8792da5539c75a3041c3c85f5a7e29714b721502
CRs-Fixed: 936374
This commit will fix the incorrect pmf config param for STA DUT
in-case of LFR2/3 roaming scenario.
Change-Id: Ic0d6d4632cfeaa0589b435a6710f3c2380cf5883
CRs-Fixed: 935947
qcacld-2.0 to qcacld-3.0 propagation
Current driver is honoring association response with try again later
as reason code without connection being PMF. Driver has been designed
to handle try again later reason only for PMF connection. For non-pmf
case it should report as failure to upper layer just like any other
failures.
To fix this situation, honor try again later reason code only if the
connection is PMF.
Change-Id: I4b37d072bc92e003fcfe62ffe8f93f7c185eb6c7
CRs-Fixed: 919203
Change "qcacld-3.0: Record data in DP Trace" introduced skb tracing
functionity to the driver. In hdd_softap_hard_start_xmit() logic was
added to trace the skb contents, including logic to trace the skb
contents when an skb was dropped. However some of the code paths to
this "drop_pkt" tracing have a NULL skb. Therefore we must bypass the
dropped skb content tracing when the skb is NULL.
Change-Id: I485c92647355a0f7f420f40640b697a1d3eb5fb0
CRs-Fixed: 938254
Fix layering violation in hdd_update_tgt_services by not accessing
pMac structure directly from HDD.
New SME API - sme_update_tgt_services() introducted to configure the
parameters in pMAC structure.
Change-Id: I7310e51001c5e17ed63730d7a86445548aa3d246
CRs-Fixed: 915267
Fix inappropriate use of Linux-specific workqueue code and
data structures in WMA.
WMA is supposed to be os-agnostic code but it currently has
Linux-specific data declarations and code for ack_cmp_work.
This change set will convert the existing code to os-agnostic
representation.
Change-Id: I3260fa3b4b482c10272ac94ab10e14e40b8950f9
CRs-Fixed: 924421
Fix the usage of list node which was deleted before the usage in
wma_cleanup_hold_req function.
Change-Id: I8ee243fda511de71083ce7e631a21497f4f153c1
CRs-Fixed: 937267
Fix the usage of linux-specific structures and functions by
replacing them with OS-abstracted types for vdev_resp_queue.
Change-Id: If2d4a9a1dffd59ec1db4b4aa572dfa453bfd0167
CRs-Fixed: 931094
qcacld-2.0 to qcacld-3.0 propagation
In order to improve driver load time, reduce PM QOS latency tolerance
time to minimum to avoid CPU enters aggressive PS during loading driver.
Change-Id: Ibacf933d379f37063d900d444de20493b94ebd90
CRs-fixed: 935267
This is qcacld-2.0 to qcacld-3.0 propagation
Fix the misspelled entry RIND_ID_DRIVER_DEBUG to
RING_ID_DRIVER_DEBUG in the enum wifi_logging_ring_id
CRs-Fixed: 938286
Change-Id: I0d33128c6d11ecc9ff3d403931bfd6bfdbbb2b4a
Avoid waiting for SME response messages while holding the SME global
lock. Currently a wait for 500ms happens in cds_handle_conc_multiport
after the holding the SME global lock. Because of this, the set hw mode
response posted by LIM is not processed by SME as SME would be waiting
for the lock.
Change-Id: Ib7890cb7124f5879316f46b1bf9f0ad3fb225665
CRs-Fixed: 939026
Add CDS connection manager APIs to manipulate the connection
update event. These APIs can be used to initialize, reset,
set and wait for connection update event.
Change-Id: I5689711d4bdc0e39b2456573158943ebda9cbc2a
CRs-Fixed: 939026
cds_get_bin.h and cds_get_bin.c were derived from qcacld-2.0
vos_get_bin.h and vos_get_bin.c. These files got their names
since at one time they housed the wrappers used to retrieve
binary files nv.bin, cfg.dat, and firmware. But over time the
functionality to actually retrieve binary files (get_bin) has
been removed, and almost all that is left is concurrency
management functions. So, moving the .[ch] functionality to
the right files.
CRs-Fixed: 932777
Change-Id: I4a26c304cc6b6224d0839c365e4006fd32270961
qcacld-2.0 to qcacld-3.0 propagation
An increase in tx_queue_len of netdev to 3000 is giving us better TCP
TX performance. Hence, increasing its value from its default (1000).
This gives us about 30 - 40 Mbps of boost.
Change-Id: I68f26ac0f4a040b0bbf10dd571dae8e5316f16b3
CRs-Fixed: 927673
qcacld-2.0 to qcacld-3.0 propagation
In hdd_cnss_request_bus_bandwidth function, the overall bus bandwidth
and rx bandwidth requirements are being determined based on tx and
rx packets. This change detects tx bandwidth required (high or low)
and sends WLAN_SVC_WLAN_TP_TX_IND indication to cnss-daemon which can
tweak system parameters depending upon TX bandwidth needed.
Change-Id: I3eec2e3f95fa32b191d905209a38cb6d48837c33
CRs-Fixed: 918529
qcacld-2.0 to qcacld-3.0 propagation
Firmware indicates the number of peers connected as part of iface
stats. If there are no peers connected, don't wait for the
peerstats and indicate the stats to host.
Change-Id: I32d04a5711adb5f924d120ee61064a178e753549
CRs-Fixed: 847743
qcacld-2.0 to qcacld-3.0 propagation
Register values are captured in the crash dump with BUG_ON.
Change-Id: I33500aea0769879d63b2e684dc898ba0e3b0b5a2
CRs-Fixed: 813402
qcacld-2.0 to qcacld-3.0 propagation
In the HTT hash de-init function, the network buffers (skb) need to
be unmapped before they are freed.
Change-Id: I879de6671d788f1ab99f7645ab424d56eafdbfd1
CRs-Fixed: 815265
The existing log for dumping concurrency information doesn't consider
DBS & also doesn't cover for various new combinations added newly.
Update logic for dumping DBS info & cover the new concurrency cases.
Change-Id: Id898bdc2c8aabfa70c99e6193c52f2723ded5c65
CRs-fixed: 935453
The Tx & Rx SS & mac id update already been done by
wma_vdev_start_resp_handler. So, no need to update again by calling
wma_update_intf_hw_mode_params.
Change-Id: Ib9804bf0d30c75d95b14925a902fe167fa681be0
CRs-fixed: 935341
qcacld-2.0 to qcacld-3.0 propagation
Currently in hdd_set_app_type2_parser, sscanf writes 4 bytes of data in
tcp_src_port and tcp_dst_port variable. The original size of variable
is 2 byte.
Update code to write appropriate size of data in variable.
Change-Id: Ifdbfa06da6cb7d0bfef4f4e105a6911950f1d6ad
CRs-Fixed: 859493
Issue the connect command immediately when the system is already
in the required hw mode. Currently the connect command is issued
immediately only when the concurrent connection update succeeds,
i.e., only when a set hw mode succeeds. But, when the driver is
already in the required hw mode, the return value would not be
success and the connect command is not getting issued immediately.
Fixed this by checking the return value which indicates that the
driver is already in the required hw mode, and issuing the
connect command immediately.
Change-Id: I1ef2adf4d92953f47d36bdae41a9d7d8d559a203
CRs-Fixed: 936268
qcacld-2.0 to qcacld-3.0 propagation
When the driver is in SoftAP mode when it is unloaded,
and if many clients are connected,
sometimes not all clients can gracefully disconnect.
In this case the IPA HW pipes are not cleaned up properly,
and subsequent pipe setup will usually fail.
To avoid a bad pipe configuration, before unloading driver,
check the pipe status and if the pipes are not closed properly,
shutdown the pipes forcefully.
Change-Id: Icc0543567423cc4b625140280be13ef733d7d67d
CRs-fixed: 886229
Propagation from qcacld-2.0 to qcacld-3.0
Add length sanity check in iw_set_keepalive_params to avoid
stack over flow.
Change-Id: If59794d1b5f8efad2fe54844fab0e7cea9b1b983
CRs-Fixed: 932466
This is a qcacld-2.0 to qcacld-3.0 propagation.
Function hdd_extscan_start_fill_bucket_channel_spec() is used to
transfer EXTSCAN bucket parameters from a netlink message to an
internal representation. A code analysis tool identified a potential
buffer overflow of the per-bucket channel list in this function. In
reality this is a false positive since there is other logic which
limits the total number of channels across all buckets, and this logic
will prevent overflow of the channel list for a single bucket since
they use the same limit.
However this presents a code maintenance issue since a potential
overflow could be introduced in the future if a change is made to
allow the total number of channels across all buckets to exceed the
number of channels allowed in a single bucket.
To protect against this possibility, as well as make the code analysis
tool happy, add an additional check to make sure the per-bucket
channel list does not overflow.
Change-Id: Ifdf2de918d8b2c5a907e833e7bc42315b607e5a5
CRs-Fixed: 922047
This is qcacld-2.0 to qcacld-3.0 propagation
When SETDFSSCANMODE is set to 0, it should now avoid DFS channels
altogether. Original implementation avoided DFS channel in roaming.
Now host code will first disable DFS channels and then follow
the original path.
Modifications to wlan_hdd_cfg80211_disable_dfs_chan_scan()
- Keep validation of vendor command from NL.
- Moved the DFS channel manipulation code to
wlan_hdd_disable_dfs_chan_scan()
Call wlan_hdd_disable_dfs_chan_scan() in SETDFSSCANMODE processing.
CRs-Fixed: 778613
Change-Id: Ia2c00a6eb8d50e7962224375562a5b6417ba8bb2
qcacld-2.0 to qcacld-3.0 propagation
The wait for key timer value in the driver should
be greater than that of supplicant.
Hence increasing it to 15 seconds.
CRs-Fixed: 919403
Change-Id: I5d6e8d445ab9dcef73b923595f41564e0a6e3c6e
qcacld-2.0 to qcacld-3.0 propagation
1) Enable the feature only when connected to 2.4 GHz AP.
2) Modify the default values to reduce the scans and not impact power
CRs-Fixed: 817919
Change-Id: Idaff886cec558a06cf9341e47a8ce17b348ad72b
qcacld-2.0 to qcacld-3.0 propagation
Enable the HI_RSSI feature from the code
instead of WCNSS_qcom_cfg.ini.
CRs-Fixed: 822475
Change-Id: Ic48e49e7042c06b1f0b2bf09d2d7ccae2d7cd9ad
qcacld-2.0 to qcacld-3.0 propagation
The MAC is not started upon FTM start.
Similarly stopping is not needed during FTM stop.
CRs-Fixed: 917306
Change-Id: I72ee4a58c88b54c1dad1b82f749274e0c2e8a9ce
qcacld-2.0 to qcacld-3.0 propagation
In the current design, PMKID is sent in RSN IE in reassoc req for
CCKM roaming.When AP receives CCKM IE and PMKID, it gets confused
and rejects the reassociation.So in case of CCKM+RSN, don't send
PMKID.
Also, in reassoc request, MIC was going 0 in CCKMIE.This MIC is
calculated by calling platform driver API.When this API returns
SUCCESS then result is copied in MIC buffer but if this API
returns EINPROGRESS/EBUSY, then driver wait for the event and once
the event is completed it does not copy the result in MIC buffer.
So changes are done to copy this result in MIC buffer in case of
BUSY/INPROGRESS status.
Change-Id: Ide74db250aa5c129fa223582be830c15f34cfb16
CRs-Fixed: 763969
qcacld-2.0 to qcacld-3.0 propagation
Some of the logs are misleading to believe that there are
some memory related issue which infact is not. Cleanup the
logs to convey the exact message that has to be conveyed for
those scenarios
CRs-Fixed: 907715
Change-Id: Iaab688eb9b8b19705b3d87c4efe1c7ef29ccf613
qcacld-2.0 to qcacld-3.0 propagation
In DFS mode, scan req completed through work item
which is async method and may lead to null
pointer access during driver unload.
So as part of fix null check are put in place
to avoid null data access.
Change-Id: I1f2255c1ad6e3e881626a32384b9badde1b255fc
CRs-Fixed: 894741
qcacld-2.0 to qcacld-3.0 propagation
As a part of unload hdd is stopping the netdev queue.
But still N/W layer 3 is calling the select queue netdev
ops, where error print appears excessively.
As a part of this fix sta select queue netdev ops need
to validate Hdd context to take care of SSR and load
/ unload cases.
Change-Id: I087f50ac9e59c3e181bde54f2041f9dda3177266
CRs-Fixed: 857429
qcacld-2.0 to qcacld-3.0 propagation
Currently we are calling memory allocation function to allocate memory for
FT ies even though FT ies length is 0.
Due to above behavior we are seeing unnecessary memory allocation failure
error prints.
Change made to check for FT ies length before calling memory allocation
function.
Change-Id: I3f9ddee1d66f51088526f6d370c83697178be925
CRs-Fixed: 930118
qcacld-2.0 to qcacld-3.0 propagation
Currently for ACS,one to one correspondence between channel
number and index of Sap specturum structure is desired.
But the correspondence is broken in case of channel in NOL list
or if the DFS channels are not allowed.
In case of channel in NOL list or if DFS channel not allowed,
channel number is incremented but index of structure doesn't change.
As a part of fix, made sure that one to one correspondence is
maintained.
Change-Id: I05cbe92e2657d96e271b402b9fdbe41a32c7080d
CRs-Fixed: 922865
qcacld-2.0 to qcacld-3.0 propagation
As per the current implementation during join timer start failure scenario,
pMlmJoinReq assigned to NULL with out freeing the memory resulting in
memory leak.
change made to release the memory in failure scenario.
Change-Id: I3f37f45129baec76671caff09790bfb70bf01208
CRs-Fixed: 930553
qcacld-2.0 to qcacld-3.0 propagation
rx_buff_list is not getting freed in
htt_detach and causing memory leak.
Change-Id: Ia9d6660674c5b4570d337cb66995fc2449145d59
CRs-Fixed: 918223
qcacld-2.0 to qcacld-3.0 propagation
Log last 1K physical addresses and corresponding virtual addresses of the
Rx buffers.
Change-Id: I2bb4502fdd92b362199b579ec3cceaa691d4691f
CRs-Fixed: 864569
qcacld-2.0 to qcacld-3.0 propagation
Handle STA State in hdd_RoamSetKeyCompleteHandler for WEP case.
In WEP case Key are set in following order.
1)Group key
2)Unicast Key
In WEP case STA was moved to AUTHENTICATED prior to
setting the unicast key and it was resulting in sending
few un-encrypted packet. Now STA state will be moved to
AUTHENTICATED after we set the unicast and group
key in WEP case.
Change-Id: I7471bc76b10be31c4a2dbb52286c7f808fa27306
CRs-Fixed: 906555
This is qcacld-2.0 to qcacld-3.0 propagation
Currently min time for dwell time for ext scan is non-zero while it
is zero for all other type of scan. This patch makes min value for
dwell time for ext scan as zero and consistent with other scans.
Change-Id: I7b6f3681c56918af7cdc381d25d6b625a5bdbda3
CRs-Fixed: 923458
This is qcacld-2.0 to qcacld-3.0 propagation
Do not advertise the short GI capability for 80MHz and 160MHz
if the operating channel width is 20MHz or 40MHz.
Change-Id: I93f0b2e94e27b50fa0baa2a263fc866ba3807fb3
CRs-Fixed: 908743
This is qcacld-2.0 to qcacld-3.0 propagation
The htSupportedChannelWidthSet of the TDLS link on base channel
should be less than or equal to channel width of STA-AP link.
The parameter pStaDs->htSupportedChannelWidthSet represents the
channel width of TDLS link on base channel.
psessionEntry->htSupportedChannelWidthSet represents the channel
width set of STA-AP link.
So fill the pStaDs->htSupportedChannelWidthSet from
psessionEntry->htSupportedChannelWidthSet.
Change-Id: I7fe3f2f449d83f5d6f01adce3a25d8031dfbeb48
CRs-Fixed: 800031
This is a qcacld-2.0 to qcacld-3.0 propagation
Don’t unregister the event in LIM cleanup since it will be take care
by WMI service close. Also in tlshim_mgmt_rx_wmi_handler, add driver
load/unload check to avoid processing any WMI_MGMT_RX_EVENTID event
even the handler is not NULL
Change-Id: I72b53b614218f26e874c964a0d8b0affba6cda79
CRs-Fixed: 904490
Ensure that concurrency rules are validated before initiating
a P2P CLI connection.
Change-Id: I6ee8d03f2bde9b419391551c0ca988b3672eb089
CRs-Fixed: 935783
Add support for CLI+SAP combination in the PCL tables which will be
used before deciding the PCL for the third connection that is going to
come up.
CRs-Fixed: 932277
Change-Id: I87e0d6306a40129931268d869b09c5bf763fab95
Early stop scan is a feature for roaming to stop the scans at
an early stage as soon as we find a better AP to roam. This
would make the roaming happen quickly.
Apart from sending the configuration items, the host also
has to send down the channel list in a sorted order
to optimize the scans and meet the requirement of this
feature.
This feature is currently applicable only to roaming
scans. However the sorted order of scan list will be
the same used by all the scans.
CRs-Fixed: 932431
Change-Id: I9c7300e4922cb0d517c248bcf60f681a5872a315
Reduce the number of channels to scan in PNO mode
based on the initial scan memory and the movement
of the client STA using Tanimoto distance
CRs-Fixed: 932355
Change-Id: I1b5448af801fb37324b77cd13c6009f1d859dd61
qcacld-2.0 to qcacld-3.0 propagation
Kernel assumes all SET IOCTL commands are assigned with even
numbers. But in our WLAN driver, some SET IOCTLS are assigned with
odd numbers. This leads kernel fail to check, for some SET IOCTLs,
whether user has the right permission to do SET operation.
Hence, in driver, before processing SET_PACKET_FILTER IOCTL, making
sure user task has right permission to process the command.
Change-Id: Ib49c3223eacdc90dfe0d45af1aff7c74518990df
CRs-Fixed: 930937
qcacld-2.0 to qcacld-3.0 propagation
if SSR trigger in middle of execution of linux_reg_notifier
/crda_reg_notifier, driver may access uninitialized data.
Hence Driver need to protect these function from SSR.
Change-Id: I9bdc6851a44fecc8353e94b38eb1dd4f63e58604
CRs-Fixed: 798672
qcacld-2.0 to qcacld-3.0 propagation
Kernel assumes all SET IOCTL commands are assigned with even
numbers. But in our WLAN driver, some SET IOCTLS are assigned with
odd numbers. This leads kernel fail to check, for some SET IOCTLs,
whether user has the right permission to do SET operation.
Hence, in driver, before processing SET_CHAR_GET_NONE IOCTLs, making
sure user task has right permission to process the command.
Change-Id: I7b060bcdc84f7016e8d301e994437a535533a260
CRs-Fixed: 930935
qcacld-2.0 to qcacld-3.0 propagation
Kernel assumes all SET IOCTL commands are assigned with even
numbers. But in our WLAN driver, some SET IOCTLS are assigned with
odd numbers. This leads kernel fail to check, for some SET IOCTLs,
whether user has the right permission to do SET operation.
Hence, in driver, before processing QCSAP_IOCTL_DISASSOC_STA IOCTL,
making sure user task has right permission to process the command.
Change-Id: I00919a56e93b8b49bce7a314b50f9f48039fbe6f
CRs-Fixed: 930946
qcacld-2.0 to qcacld-3.0 propagation
Static code analyser detects uninitialized pointer/structure
access and dereferencing a pointer without null check.
As part of this fix host will initialize pointer/structure before
accessing it and put a null check for pointer access.
Change-Id: I5647b36a6ba0e84354d39799bf68a28df633cf20
CRs-Fixed: 836071
qcacld-2.0 to qcacld-3.0 propagation
Host should avoid to Update MC list in ftm mode because
as a part of MC list updation, host will access the
pMac roam sessions, as these sessions are not initialized
in FTM mode which lead to Null data access.
Change-Id: I2ac82e76c1c7de8d1bf0fd7e291bf5445e9d0f4b
CRs-fixed: 897871
qcacld-2.0 to qcacld-3.0 propagation
Kernel assumes all SET IOCTL commands are assigned with even
numbers. But in our WLAN driver, some SET IOCTLS are assigned with
odd numbers. This leads kernel fail to check, for some SET IOCTLs,
whether user has the right permission to do SET operation.
Hence, in driver, before processing SET_VAR_INTS_GETNONE, making
sure user task has right permission to process the command.
Change-Id: Icbdfe69c18c1ab3b75d63e046d5251307a794817
CRs-Fixed: 930942
qcacld-2.0 to qcacld-3.0 propagation
Kernel assumes all SET IOCTL commands are assigned with even
numbers. But in our WLAN driver, some SET IOCTLS are assigned with
odd numbers. This leads kernel fail to check, for some SET IOCTLs,
whether user has the right permission to do SET operation.
Hence, in driver, before processing QCSAP_IOCTL_SETWPSIE IOCTL,
making sure user task has right permission to process the command.
Change-Id: Ie1c945afb0f109892beda66bab25647d70cc62d7
CRs-Fixed: 930944
qcacld-2.0 to qcacld-3.0 propagation
Kernel assumes all SET IOCTL commands are assigned with even
numbers. But in our WLAN driver, some SET IOCTLS are assigned with
odd numbers. This leads kernel fail to check, for some SET IOCTLs,
whether user has the right permission to do SET operation.
Hence, in driver, before processing SET_BAND_CONFIG IOCTL, making
sure user task has right permission to process the command.
Change-Id: Ie8a36bfa07a7b21601364b27b3c4bc888a6a5b4e
CRs-Fixed: 930952
qcacld-2.0 to qcacld-3.0 propagation
As a part of unload hdd is stopping the netdev queue.
But still N/W layer 3 is calling the select queue netdev
ops, where error print for sap context is Null appears
excessively.
As a part of this fix hostap select queue need to validate
Hdd context to take care of SSR and load / unload cases.
Change-Id: Id6d93a3a83de7d95a283ff57b6fa2c44f08a9ee3
CRs-Fixed: 857220
qcacld-2.0 to qcacld-3.0 propagation
While adding pStaDs for IBSS when peer beacon is received, HT
secondary channel offset is not copied from beacon. This leads to
false change capability indication while processing the same beacon
and thus update cb mode is sent with staid 255(default),
leading to crash.
Update HT secondary channel offset from beacon and add a check in
cbmode update to ignore update if staid is 255.
CRs-Fixed: 885747
Change-Id: I66dedb38aadde473b99b2f8fc4a7a9b855a10b2a
qcacld-2.0 to qcacld-3.0 propagation
Optimize by avoiding processing of DFS phy events in below scenario's
1)Once radar indication given to UMAC.
2)Vdev restart in SAP interface
Change-Id: Ib175feed4a611a5c7185202e3d50abc3e84fc781
CRs-Fixed: 910586
qcacld-2.0 to qcacld-3.0 propagation
Currently DFS variables are accessed in different context without
protection leading to NULL pointer dereferences.
Ensure lock is taken before accessing the DFS shared variable.
Change-Id: Ie78dd50ff4b32ef52f78e2944d175a6c10577882
CRs-Fixed: 910586
qcacld-2.0 to qcacld-3.0 propagation
Host driver updates WLAN status to LPASS with connected false and WLAN on
when disconnection happens. Host driver also updates WLAN status right
after driver unload is triggered with connected false and WLAN off. There
is a scenario that disconnection callback comes during driver unloading
which causes LPASS misbehavior. Fix this by only updating disconnection
status to LAPSS when driver is not unloading.
Change-Id: Ie72ba094283a64c06e8c74523314d6de92a0f08b
CRs-fixed: 928365
qcacld-2.0 to qcacld-3.0 propagation
Increase SSR timeout from 15 seconds to 30 seconds in order to handle
some corner cases which may cause SSR to take longer time. E.g. CPU is
busy/stuck with other tasks.
Change-Id: I6837f2d5e87090ede15e514d1c4f978d34931f32
CRs-fixed: 927722
qcacld-2.0 to qcacld-3.0 propagation
If total TX/RX packets are less than bus bandwidth low threshold, there
is no need to vote separately from WLAN side.
Change-Id: I02284d035e58471b3933a84c778d4d44bd6b19ba
CRs-fixed: 918723
qcacld-2.0 to qcacld-3.0 propagation
There is no need for host driver to do VOS_BUG if FW has already requested
recovery during suspend.
Change-Id: I0c77210316fea978fe686201f42b9501612e9a1e
CRs-fixed: 904909
qcacld-2.0 to qcacld-3.0 propagation
If self-recovery is enabled in ini file, recover if host driver fails to
receive HTC ACK from FW for PDEV suspend, otherwise do VOS_BUG.
Change-Id: Ieddb22c5806067ec1a1166b60e1642e6cdf74a4c
CRs-fixed: 894187
qcacld-2.0 to qcacld-3.0 propagation
- Kill wlan_tasklet before freeing TLshim free queue. This can avoid
race condition between SSR and wlan_tasklet which is still processing
Rx packets in the case of self-recovery when FW doesn't really crash.
- In additional to connected state, add disconnected/disconnecting states
to send notification to supplicant for re-issuing connect after SSR.
This is to avoid corner cases that while FW crashes, disconnection is
happening or disconnection fails because of FW crash, the HDD state is
changed from connected to disconnecting/disconnected.
Change-Id: I8ff295a443e946e8775354dcf4331ad024776cb7
CRs-fixed: 899479
qcacld-3.0: Initial snapshot of ihelium wlan driver
to match code-scanned SU Release 5.0.0.139. This is
open-source version of wlan for next Android release.
Change-Id: Icf598ca97da74f84bea607e4e902d1889806f507