qcacld-2.0 to qcacld-3.0 propagation
As part of "change iface" in HDD, host does close session (VDEV DELETE) and
as part of "start ap", host invokes open session(VDEV CREATE).
Link Layer(LL) stats query is received in host driver in a corner/race
condition between the events "change iface" and "start ap" which leads
to an exception issue in firmware since FW receives REQUEST_LINK_STATS WMI
for a deleted VDEV.
This fix adds a boolean variable vdev_active to vdev structure(wma_txrx_node),
which is set to true once vdev is created. vdev_active is checked for TRUE
before sending LL stats query to FW with WMI command.
Git-commit: cf7bf99eb9a71b1043cd230aee704c44c62c98ff
Change-Id: Ifcc986c3352e4e66da35b8d6c489d98dbe61401d
CRs-Fixed: 987734
(cherry picked from commit b82c03d8686a57b120f991ffbb9b9801c908aac8)
This reverts commit Change-Id: Ib16a4e86f2378a8ca3f7eaada54fc7a3d67a886b
WLAN driver is blocked from promotion as the dependent kernel
change is not merged yet. Race condition between PM suspend and fw
irq will occur again after reverting.
Change-Id: Ida519d607df1e1e183c7af445d48be2f50101ce7
CRs-Fixed: 1060748
qcacld-2.0 to qcacld-3.0 propagation.
In current implementation, RA filter is enabled irrespective of the
BPF filter status. This change checks if BPF configuration in ini as
well as in target config is enabled, then RA will be disabled.
Change-Id: I85df0828af665d2bcc13c865b0ba40ebf882fffe
CRs-Fixed: 1058884
(cherry picked from commit 8dda6e83eb85ef9f0342ab23954e093c6dfebe2e)
PM suspend and FW interrupt handler is running at same time
which is leading to multiple race conditions and host is missing
FW wake up interrupt which is causing APPS not waking up reliably.
Define .suspend_noirq and .resume_noirq callbacks and make
sure there is no pending FW interrupt before allowing PM
suspend to complete. Kernel PM suspend framework gives guarantee
that suspend_noirq and device interrupt handler can't run
simultaneously. This helps WLAN driver to reliably detect FW
wake up interrupt during PM suspend and fail PM suspend gracefully
if FW has requested for initial wake up.
Change-Id: Ib16a4e86f2378a8ca3f7eaada54fc7a3d67a886b
CRs-Fixed: 1060748
This reverts Change-Id I9e55f58aee29017fe09efeb5231b8be23053f7b7.
WLAN driver is blocked from promotion as the dependent kernel
change is not merged yet. Race condition between PM suspend and fw
irq will occur again after reverting.
Change-Id: Id6497b81c703b3751fba0a85890203e316608aab
CRs-Fixed: 1060748
PM suspend and FW interrupt handler is running at same time
which is leading to multiple race conditions and host is missing
FW wake up interrupt which is causing APPS not waking up reliably.
Define .suspend_noirq and .resume_noirq callbacks and make
sure there is no pending FW interrupt before allowing PM
suspend to complete. Kernel PM suspend framework gives guarantee
that suspend_noirq and device interrupt handler can't run
simultaneously. This helps WLAN driver to reliably detect FW
wake up interrupt during PM suspend and fail PM suspend gracefully
if FW has requested for initial wake up.
Change-Id: I9e55f58aee29017fe09efeb5231b8be23053f7b7
CRs-Fixed: 1060748
Host is not handling target initial wake up properly which is
leading to resume failure. Fail PM suspend request if target
has sent initial wake up message.
Change-Id: I7ac757dd7968f541935519da0689d7672f72d19b
CRs-Fixed: 1059543
In following conditions RX LDPC support needs to be enabled
1) when STA is coming up in 5G band
2) when IBSS is coming up in 5G band
for anyother cases RX LDPC needs to be disabled. If user has
choosen RX LDPC to be disabled from INI file then it needs to
be disabled for all the cases including above mentioned cases.
To achieve this, take the intersection of global, INI, and harware
specific RX LDPC settings.
Change-Id: Iae10aa4a8c0931cdb796cd9c8ff558d4bc8e0aed
CRs-Fixed: 1050004
Change structure names to fix WIN compilation when used in
coexistence with MCL codebase.
Change-Id: Ife09989e1f0f0c4d619f73c5960968d3a6721b6e
Acked-by: prgandhi@qti.qualcomm.com
CRs-Fixed: 1008872
Propagation from qcacld-2.0 to qcacld-3.0.
Correct the updation of various wow wakeup counts.
Change wow_icmpv6_uc_bc_count to wow_icmpv6_count
as there is no broadcast in case of ipv6.
Change-Id: Iceaf1226edbf909ca3881e049c33f7d121860ef2
CRs-fixed: 1049254
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
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
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
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
qcacld-2.0 to qcacld-3.0 propagation
Currently, In SAP mode due to incorrect wep key
index broadcast frames are not encrypted.
Fix is to make sure to update default index for
BSS(group) key.
Change-Id: I328855decbad20dbd88b48022e466e4f78f5d722
CRs-Fixed: 932749
Add support for 5/10 MHz channel width for STA and SAP role. To
enable/disable feature, following ini parameter will be used:
* gSub20ChannelWidth=0: indicates do not use Sub 20 MHz bandwidth
this is also the default value.
* gSub20ChannelWidth=1: Bring up SAP/STA in 5 MHz bandwidth
* gSub20ChannelWidth=2: Bring up SAP/STA in 10 MHz bandwidth
Change-Id: Ic6d534dc1eae60fcd2fb7533c934b9ea28e6dd78
CRs-Fixed: 1013211
qcacld-2.0 to qcacld-3.0 propagation
While RTT ranging happens, userspace application initiates FTM
request via host to FW. After sending the FTM request, host
might go to sleep mode sometimes so FW will not be able to send
the OEM response event resulting in poor ranging results.
This change registers OEM response event as WOW wakeable so FW
wakes up host whenever it receives OEM response which helps OEM
response to reach userspace application on time for better
ranging results.
Git-commit: 4de9b661e45a0bde4dfefc760edf03d1b8f4dd68
Change-Id: I71b77cfa09c5039b487e9a93490837a084314fb3
CRs-Fixed: 1018887
Remove the usage of typedef for oem data request and oem
data response data structure.
Change-Id: I94f05833baa9b6baaf2272f63a33236437a96bbf
CRs-Fixed: 1038872
Remove oem data rsp passing over multiple layers.
This change set sends the OEM data response directly to
SME from WMA instead of going through LIM/MLM.
Change-Id: I3cff10ff7bdbcee39b39bd9ba03b5eff8444b017
CRs-Fixed: 1038872
Remove oem data request passing over multiple layers.
This change set sends the OEM data request directly from
SME to WMA instead of going through LIM/MLM.
Change-Id: I151fa771544e9f74b1b69b18d689176752760621
CRs-Fixed: 1038872
Remove handling of deprecated OEM related events since FW and
userspace application will use only TLV based messaging.
Support to handle following events are removed,
WMI_OEM_CAPABILITY_EVENTID
WMI_OEM_MEASUREMENT_REPORT_EVENTID
WMI_OEM_ERROR_REPORT_EVENTID
Change-Id: Ia194f559acde6689a50c56b52078b7dc967c6159
CRs-Fixed: 1038872
Propagation from qcacld-2.0 to qcacld-3.0
- Current length of bpf is not set during the reset filter. set offload
is allocated through malloc, so invalid values for current_length
are recieved during reset. Memset set_bpfload to zero after
allocation.
- update the bpf service to hdd correctly depending on the
wmi service bitmap recieved from the firmware.
Change-Id: Iaf4774865cf0698a2deebac5cea62c873146e838
CRs-Fixed: 985562
Update ini configuration parameters for cds modules in the driver,
this helps in avoiding layer violation of using the hdd context in
cds modules.
Change-Id: Iff149cc51ea5eacae4f84d83c51d0ed63834ba50
CRs-Fixed: 1026817
qcacld-2.0 to qcacld-3.0 propagation.
oem data request len size should be of 4 byte instead of
1 byte.
Add changes to correct len size in oem data structure across the
layers.
Change-Id: I9b377420c50ff1160964f94be5eaa0072df0f63d
CRs-Fixed: 1013488
FW common files needs to be in sync with host and fw.
Add changes to compile successfully with latest version
of FW interface file.
Change-Id: I487a18185c406da5c2fb07e2a95cafe4793578aa
CRs-Fixed: 1012542
FW common files needs to be in sync with host and fw.
Correct fw common references in dp layer with latest copy
of fw common files.
Change-Id: I194c25045ca978634027a94bc74f22253b1afc86
CRs-Fixed: 1012542
Add support for WMI POWER DEBUG command to control mac_core power features
for run time debugging.
Change-Id: I77ad747843cae31de1705b7ce8fa80e18c9ca53e
CRs-Fixed: 1007598
qcacld-2.0 to qcacld-3.0 propagation
Firmware sends 0x127 as the invalid snr value when it is in a
state of unable to get it from either a beacon or data packet
CRs-Fixed: 939255
Change-Id: Ia45a8c4acd6a54ff3e56b192c11cea0df97eadaf
qcacld-2.0 to qcacld-3.0 propagation
Add host side changes to handle INITIATOR_REQ, INITIATOR_RSP,
NEW_PEER_IND and NDP_CONFIRM_IND to support NDP data initiator
request.
Change-Id: I10bf88d3fff27e1f842b720a598c923983c06c90
CRs-Fixed: 962367
qcacld-2.0 to qcacld-3.0 propagation
All the wake events for all NAN datapath event IDs are sent
through a single event WOW_NAN_DATA_EVENT. Its handler derives
the event ID from the TLV tag and calls individual NDP event
handlers.
- Enable WOW_NAN_DATA_EVENT.
- Translate WOW event TLV tag to NDP event ID.
- Call NDP event handlers for WOW_REASON_NAN_DATA.
Change-Id: Ia99bb6b0e1637d052945ed6f4878237b3612bb20
CRs-Fixed: 962367
To lower the power consumption caused by the P2P listen operation,
it is offloaded from supplicant and host driver to firmware,
so that supplicant and host driver can be in power save mode during the
listen operation.
Change-Id: Iedd990427afe22842faecc7b29e4f38220c75684
CRs-fixed: 1032877
This is qcacld-2.0 to qcacld-3.0 propagation
Till now kickout event was only handled for SAP role.
The patch handles wmi event for peer kickout due to
inactivity in STA role.
Change-Id: I437dc3e07737bb653e969406b64cd9dad56fbbcd
CRs-Fixed: 861917
Register PE NDP event handler callback with WMA. NAN even handlers at WMA are
already running in MC thread context and callback avoids unnecessary message
posting from WMA to PE for processing of NDP firmware events.
Change-Id: I94328ef69a3ee4ae6e7af2978bfad5a7ddcb385d
CRs-Fixed: 962367
qcacld-2.0 to qcacld-3.0 propagation
Add changes to handle request to delete NAN datapath interface.
Change-Id: I3efef6adf6c7a974d3e344a7609f8517cd1aa752
CRs-Fixed: 962367
qcacld-2.0 to qcacld-3.0 propagation
Add changes to support session and BSS creation in NDI mode.
CRs-Fixed: 962367
Change-Id: I585cd89702a2c412783ae93fb1558ed5bfe31fd9
qcacld-2.0 to qcacld-3.0 propagation
Add messaging interface to support NAN datapath.
"NAN" terminology is used for referencing NAN discovery.
"NDI" and "NDP" are for NAN datapath.
CRs-Fixed: 962367
Change-Id: I1f42c8dab17b3a300db61756c29fc02d3d3bc504
qcacld-2.0 to qcacld3.0 propagation
Configure NAN datapath capability of the driver based on
the target device capability.
CRs-Fixed: 962367
Change-Id: I99eac7ae3ae495347208e3849e2383e999dcc125
Connection tracker should not run, when the events TDLS UAPSD
and btcoex happens in the system.
Add changes in the host driver to stop connection tracker
for the aforementioned events.
Change-Id: Ib631dc986826339a4c191328f187e46f4e0392d9
CRs-Fixed: 1025613
qcacld-2.0 to qcacld-3.0 propagation
Add support for NSS configurability per vdev type
- Configure the 2g and 5g NSS with the INI value of
each vdev type
- Program the HT and VHT IE to FW for 1x1 and 2x2 mode,
FW will include them in scan probe request frames
Change-Id: I5cbf17a14ab6becad6cf5765ae5039fc284dc309
CRs-Fixed: 869026
Read TLVs for each PHY per each HW MODE coming as part of service
ready extension event and decode them and store them in wma_handle for
later use.
CRs-Fixed: 1029145
Change-Id: I302ad442f660feb795d7a8f1353b5d820d26aac8
loop through each mac's cap per hw mode and derive final
ht cap and vht cap by either taking MIN or MAX value based
on the engineering requirement.
For backward compatibility reasons, if firmware doesn't
give any TLV for extended caps then use legay HT and VHT cap
values.
CRs-Fixed: 1029145
Change-Id: I3ad9b474c281f3dd371eb2b88b71e8af59fcd66d
In case of CCKM, the host is not passing specifics as to whether
it is WPA or RSN proto type which would be needed for the
firmware to do a proper LFR3 roaming. So, pass the necessary
information to the firmware and also ensure the backward
compatibility is still maintained with LFR2.0.
CRs-Fixed: 1020291
Change-Id: I220d2c1909a44fd7edb46127daec1165fca71ebe
Initialize bad peer tx control data structure in WMA,
send down the initial configuration info to fw and
configure the peer status update setting in the tx_rx module.
CRs-Fixed: 975526
Change-Id: Ib380e10a0b343b6a8f9c2c0bf6d6dd602d2601c5