The existing peer_map_unmap_lock in ol_txrx_peer_find_add_id
does not include call to ol_txrx_peer_unref_delete. The peer addition
handling needs to be atomic with peer reference deletion (in case peer
ref deletion is required).
Move the peer_map_unmap_lock to include ol_txrx_peer_unref_delete.
CRs-Fixed: 1056442
Change-Id: Ica15ea70527f0ea116b960dd7958da73f304288b
qcacld-2.0 to qcacld-3.0 propagation
The problem with the existing code is:
* WMA_STA_WOW_DEFAULT_PTRN_MAX is set to 4 and in wma_wow_sta()
we make sure atleast WMA_STA_WOW_DEFAULT_PTRN_MAX free slots are
available before configuring the default wow pattern. But after this
check we are actually configuring 5 default wow patterns.
* If BPF is enabled, we are limiting the Max WoW patterns to 2,
because the free slots are 2 which is less than the expected default
free slots WMA_STA_WOW_DEFAULT_PTRN_MAX. we are not configuring
default STA mode wow pattern and hence no wakeups observed for
incoming packets.
Address this issue by changing the WMA_STA_WOW_DEFAULT_PTRN_MAX to 5 and
MAX WoW filters to WMA_STA_WOW_DEFAULT_PTRN_MAX if BPF is enabled.
Change-Id: If433cff18ce511e7fdffadff69ee13b762a1719b
CRs-Fixed: 973054
qcacld-2.0 to qcacld-3.0 propagation
* Set BPF filter only if the station/p2p client is in the connected
state.
* Depending on the BPF service enabled in firmware dynamically
configure the number of wow filters.
- If bpf enabled maxwowfilter is 2.
- If bpf is disabled maxwowfilter is read from ini.
Change-Id: I14c722c9a1189f4ba4fbc2c8a554ae85b7a61fa8
CRs-Fixed: 967535
With SAP+STA concurrency there shall be a new interface created softap0 on
which SAP comes up. In the present scenario the support for starting
the ap adapter only via the change interface.
Since the SAP adapter is not started the start_bss request from the
upper layer fails.
To migitate the issue add support for the start ap adapter from the
__wlan_hdd_add_virtual_intf.
Change-Id: I4d112441b5aa7ff91dafa9e43f9aceb18d0e13f0
CRs-Fixed: 1056331
qcacld-2.0 to qcacld-3.0 propagation
Currently ICMP counter is incremented only for IPV4 multicast packets.
But ICMP count includes total unicast/multicast/broadcast ICMP packets.
Add changes to update ICMP counter for unicast/multicast/broadcast
ICMP packets.
Change-Id: I00f9fb0c8231fd69f6c108ced8028eb19315006e
CRs-Fixed: 1020079
qcacld-2.0 to qcacld-3.0 propagation
Send wakelock stats to HAL layer when it requests through vendor
command QCA_NL80211_VENDOR_SUBCMD_WAKELOCK_STATS. This is a
blocking request in HDD.
Change-Id: Ie043323d90f63c19de2da9d1b8b54bc28d2c8f3d
CRs-Fixed: 958964
hdd_napi_event requires hif_ctx, after dynamic mode feature hif_ctx
is getting created later as part of hdd_start_modules. HIF ctx is being
created/destroyed depending on the interface up/down from the upper
layer, hence set NAPI event after hif layer is initialized.
Change-Id: I9fb21f6f75cc689620a6befd997956610e2ca3ae
CRs-fixed: 1055660
Propagation from qcacld-2.0 to qcacld-3.0
add nan_data_supported_bands to NaN capabilities messages
Change-Id: Ib7ee708c9235e86cf9588d011de29df1e34ad690
CRs-fixed: 865207
Propagation from qcacld-2.0 to qcacld-3.0
WMI pdev POWER_STATS request and report message defs
pktlog flag in HTT_T2H RX_IN_ORD_PADDR_IND
New release of Hawkeye HW header files
Change-Id: If2f122a6879b60052849b7efb738e7fc1a4c23f3
CRs-fixed: 865207
Propagation from qcacld-2.0 to qcacld-3.0
define WMI_PKTLOG_EVENT_SW
Update htt.h with Lithium TCL/TX related data structures
Change-Id: Ica0b6cd11df8a84a0b7e0771354795aa082f20fe
CRs-fixed: 865207
Propagation from qcacld-2.0 to qcacld-3.0
Adding defined weightage values for WMI_PDEV_SET_PCL_CMDID
Add filter configure interface in fwcommon for sniffer mode.
Change-Id: Ic822863cbbaffe7303dedf7f6c16ba92c2d0a5d3
CRs-fixed: 865207
KR and CN have different DFS regions than what kernel provides.
Assign the correct DFS regions for KR and CN. Also use "enum
dfs_region" as the parameter type in functions that have
dfs region as parameter.
CRs-Fixed: 1047214
Change-Id: I2ddd67d3c29a448dd2a1d3a63113750783fb6731
send WLAN off event to WLS at the end of WLAN off steps
to make sure WLAN is really off when WLS calls 'glink deinit'.
Change-Id: I29e15d51ec306071fc9f5ff7e3565c75814944e8
CRs-Fixed: 985226
Make MAS (MCC Adaptive Scheduler) commands to be PDEV
specific.
Two instances of OCS (Off Channel Scheduler) can exist
in the FW (one per MAC) and FW provides the option of
enabling and disabling MAS on a per MAC basis. But,
Host does not have enable/disable option for individual
MACs. So, the agreement with the FW is for the Host to
send down a ‘pdev id’ of 0. When ‘pdev id’ of 0 is used,
FW treats this as a SOC level command and applies the
same value to both MACs. So, irrespective of the value
of ‘WMI_SERVICE_DEPRECATED_REPLACE’ in the WMI service
bit map, the pdev id needs to be ‘0’ (SOC level) for
the WMI command
WMI_RESMGR_ADAPTIVE_OCS_ENABLE_DISABLE_CMDID.
WMI command WMI_RESMGR_SET_CHAN_TIME_QUOTA_CMDID to set
the MCC quota is sent down as channel – value pairs.
The value being channel time quota and the channel being
sent down is a home channel. The additional requirement
from FW is that all the channels in a single WMI command
belong to the same MAC. FW asserts if the WMI command
mixes and matches home channels associated with
different MACs. So, although the PDEV ID is not part of
the WMI command struct, the cmd is in a sense PDEV
specific.
There is no change in the WMI command
WMI_RESMGR_SET_CHAN_LATENCY_CMDID to make it PDEV
specific since this WMI command always send only one
channel-latency pair to the FW. So, there shouldn’t be
any problem of FW receiving home channels associated
with different MACs, for this WMI command.
Change-Id: Ie22800e07bbeef65c43f9171de828533b982a06b
CRs-Fixed: 1052652
Add ndp_ctx NULL check in error scenario before
dereferencing it.
Propagation from qcacld-2.0 to qcacld-3.0.
Change-Id: I7a6aa92351e0140b78c9d7b95f2a6cca45f8e387
CRs-Fixed: 1044060
Host is sending OBSS start scan request twice to firmware.
OBSS scan start is triggered as part of the set context response
processing and it gets called twice after association.
Added condition check to allow only once the OBSS scan request.
Change-Id: I8ccc7172df9d89aaa09ad924ced7f8ed5a6ace13
CRs-Fixed: 1053626
Fix incorrect compilation flag termination.
Under WLAN_ENABLE_AGEIE_ON_SCAN_RESULTS compilation flag TDLS and few
other unrelated changes were present. This change set will remove
the unrelated changes outside this compilation flag.
Change-Id: I16ca3013147c549acc1b0758c268af717166ac57
CRs-Fixed: 1050754
qcacld-2.0 to qcacld-3.0 propagation
If a PMF Sta is already connected to one interface and try
to switch to other interface without sending deauth/disassoc,
sta entry is not deleted from previous vdev and one more entry
is created on current vdev. Due to this htt is not able to get
valid peer for EAPOL packets and EAPOL packets are dropped leading
to connection failure.
To fix this, Add check to delete PMF Sta from one vdev when
assoc request is received on another vdev.
Change-Id: Ida2e20fe08af3c6ed426822a71db1fd6854a0bea
CRs-Fixed: 1033224
qcacld-2.0 to qcacld-3.0 propagation
Add additional argument in ol_tx_queue_free to indicate whether
txq is vdev or peer queues to avoid extracting peer_id in case of
vdev txq queue in ol_tx_queue_log_free function.
Change-Id: Ic521c23b4001f15a382e9435413cdafca0c8b49f
CRs-Fixed: 1023457
qcacld-2.0 to qcacld-3.0 propagation
When the TDLS traffic flows continuously between the two
peers and if the antenna switch command comes from the
user, it creates a race condition and blocks the
antenna switch operation.
Add a new transition state in TDLS to avoid this race
condition.
Change-Id: I1c9b183c460e1401bd1ee2631489c57778ec665b
CRs-Fixed: 971505
qcacld-2.0 to qcacld-3.0 propagation
Currently in case of IBSS, beacons are populated with TDLS IE's
in extended capabilities though TDLS IE's and extended capabilities
doesn't signify anything.
Fix will ensure to exclude extended capabilities and TDLS IE's
Git-commit: c50b50f7f0616b4536e7df998e98f9347562e680
Change-Id: I63b6f413964cc53f2f25496fef40f99c4244293a
CRs-Fixed: 1017887
Pointer 'cds_get_context(QDF_MODULE_ID_TXRX)' returned from call to
function ol_txrx_ipa_uc_get_resource may be NULL and will be
dereferenced.
The fix is to check if cds_get_context is not NULL before passing it
to ol_txrx_ipa_uc_get_resource.
Change-Id: Idbb69bcbef6cb54df334c30419dc0f7015466f28
CRs-Fixed: 1042048
Validate the memory allocated for the bpf filter program before
dereferencing it.
Also return the correct error status to the caller
Change-Id: Ia165e2f8611830f26c6e466f74bb5e32fc8822e8
CRs-Fixed: 1042027
qcacld-2.0 to qcacld-3.0 propagation
Currently extscan_results_available event is posted to user space after a
bucket scan is completed. If the extscan start request is configured for
multiple buckets, then the user space application tries to fetch cached
results on every extscan_results available.
If the get_cached_results is issued with flush=1, then every get_cached_results
will have 0 scan results and since flush=1 is set, due to a bug in firmware
even the temporary scan cache is flushed, there by we miss reporting the
APs found in the previous bucket scans and only the last get_cached_results
will report the APs found in the last bucket scan. Whereas the expectation is
get_cached_results must report all the APs found in the complete scan cycle.
The proposed fix is in both firmware and host:
1. Firmware to ignore get_cached_results flush=1 and not to flush the temporary
scan cache in the middle of extscan cycle.
2. Host to consume bucket_started event within host driver and map
extscan_results_available with cycle_complete instead of bucket_complete.
Change-Id: I399204261fa3d8515146c590630a3bb663ee801c
CRs-Fixed: 975402
qcacld-2.0 to qcacld-3.0 propagation
Make the following enhancements to the EXTSCAN feature:
* Add buckets_scanned param while sending
on_full_scan_result/cached result event to user space.
* Configure REPORT_EVENTS_CONTEXT_HUB to firmware.
* Remove status while sending on_scan_event to user space.
* Add support for SCAN_THRESHOLD_NUM_SCANS /
SCAN_THRESHOLD_PERCENT while sending scan event.
Change-Id: Ib37ce7cef5b3ce9d9ee4ebdc5ea9bcadaad7b695
CRs-Fixed: 960456
APPS suspend/resume support is ready. By default disable WLAN suspend
resume test framework and enable it in engineering builds on need basis.
Change-Id: If1e23ed41987a1f8b40cfae6504f6b69f8a06932
CRs-Fixed: 1055093
Propagation from qcacld-2.0 to qcacld-3.0.
Dump some more info for WOW wakeup packet:
1) ether_type
2) proto_type in case of IPV4 and IPV6 packets
3) src port and dst port in case of TCP/UDP
Change-Id: I1578aa5322af50f0ae43248c48a2f754ea081970
CRs-Fixed: 1043939
Propagation from qcacld-2.0 to qcacld-3.0.
Change print type from %d to %u for the unsigned variables in
wma_wow_dump_mgmt_buffer and wma_wow_parse_data_pkt_buffer.
Change-Id: I2ea9ae2aa5c6f1bbec65b724de35a0071ea26804
CRs-Fixed: 1038593
Propagation from qcacld-2.0 to qcacld-3.0.
Dump soem information such as source MAC address, destination
MAC address, sequence number, packet type, subtype and other
important information for the first mgmt. packet after WOW wakeup.
Change-Id: I4f39d93e8aeb243ec3df5cc1a916aec0a1aa4819
CRs-Fixed: 1019037
Propagation from qcacld-2.0 to qcacld-3.0.
Dump some information such as source MAC address, destination
MAC address, sequence number, packet type, subtype and other
important information for the first data packet after WOW wakeup.
Change-Id: I3c83991f56be34412f3f10adf58bd991ecb536ca
CRs-Fixed: 1019037
Classify tx packets at one place and store packet type in
skb cb structure to avoid multiple check to determine
packet type at various layers.
Change-Id: Id2ea9b08bdcbc62b1d96d983d19bcf71becc9c42
CRs-Fixed: 1022454
Changes to configure different rx data path rx_thread,
RPS or NAPI through ini parameters. Also added support
for RPS mask setting using cnss-daemon.
CRs-fixed: 1026370
Change-Id: I23ab8fe0f05245b38cf4b37e93da8fd99d4c1f68
as per the latest draft for BSS bandwidth 160MHz, channel frequency segment 2
represents the center channel frequency. Update wma_get_channels to use correct
segment to calculate center channel when operating in 160MHz.
Change-Id: I9a8f2035b590a90415fbc5a0a6608c48bbd5b2e5
CRs-Fixed: 1048793