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
Fix some remaining u32 paddr references in htt and make sure
that they are defined as qdf_dma_addr_t.
Fix print %x's for such variables, as per printk-formats
document (use %llx and explicitly typecast the vars to uul).
Change-Id: I4bc25e631986d8343a704ac48fb7bdfe1717b396
CRs-Fixed: 1064917
Make sure that the message to enable flow steering is
sent to the FW when NAPI or LRO is enabled (as opposed
to sending it when LRO is enabled only).
Change-Id: Iadb4a08b213c9c31921c520f663a8a5359b0444b
CRs-Fixed: 1064917
Add throughput policy handler which triggers irq/CPU mananagement
functions as required.
Adapt NAPI enablement code to recent changes to the init sequence.
Add to the new files to build.
Change-Id: I8c16667a08982e419c2f2152cf31afcd3a535eb4
CRs-Fixed: 1064917
Register suspend_noirq/resume_noirq callbacks to kernel. It will
make sure no wake up is pending from FW and if initial wake up is
received then failing it should trigger resume.
Change-Id: I3d3de3789a7d560ed171294fa9a1ebe6389746a7
CRs-Fixed: 1060669
This reverts Change-Id Ifce8edc5db8c0410c5cddd24aceb88675f8ced42.
WLAN driver is blocked from promotion as the dependent kernel
change is not merged yet. PM suspend_noirq/resume_noirq are
not available after reverting.
CRs-Fixed: 1060669
Change-Id: I0e015d664681c3e2ba57a26b04318d4aa13f0406
This reverts Change-Id Ic0627a14a65f07faeb5cfa0ec4fcdc85b79e3f63.
WLAN driver is blocked from promotion as the dependent kernel
change is not merged yet. Getting/setting unsafe channels and
dfs nol are no longer be present after reverting.
CRs-Fixed: 1061220
Change-Id: Id4e374310c5140cc7c5432183562998b2584853a
qcacld-2.0 to qcacld-3.0 propagation
If base channel is 5 GHz and when we support all 11a and 11g
rates, then there is no need to advertise 11b rates in TDLS setup
request/response frames.
Advertising 11b rates also leading to IOT issues with few third
party devices.
Fix is to ensure that 11b rates are not included if base channel is
5ghz.
Change-Id: I45590a4067194e8929bac225b1a82ec510903539
CRs-Fixed: 955788
qcacld-2.0 to qcacld-3.0 propagation
In the current implementation, DUT doesn't initialize the social
channels 1, 6 and 11 and doesn't support P2P discovery in 5GHz only
mode. So we don't see any AP's on 1, 6 and 11 channels during p2p scan.
Change-Id: I317119bbbc30d44214c11076faceba8101cf835a
CRs-Fixed: 962252
qcacld-2.0 to qcacld-3.0 propagation
Currently, since we are using same member from lim structure for p2p and
TDLS there could be possibilities that session id is overwritten
by p2p which would lead in not sending Tx completion indication from
lim to hdd thus leading to Tx timeout though we have received tx completion
indication from FW.
Fix is to create new session id for TDLS frames transmission
Change-Id: I1f78f24ac01e0b26c92238dbe831af88aa267bd5
CRs-Fixed: 991455
Bitmasks should use atomic operations when they can be
modified in multiple contexts. Also sanitize msdu_id length
to avoid potential memory corruption.
Change-Id: I119916dba883ab7aa27d8c42035af5588774f535
CRs-Fixed: 1061195
In function csr_roam_chk_lnk_disassoc_ind format
specifier to print sizeof() is for 64 bit systems
which leads in compilation error on 32 bit systems.
Fix this issue by common format specifier for both
32 and 64 bit compilation.
Change-Id: Ib3a5df243c8c29040321af4bdcf7230a6e5e0e52
CRs-Fixed: 1055344
Compilation error is seen for 32 bit builds in htt_tx_ipa_uc_wdi_tx_buf_alloc
as buffer_paddr, which is defined as unsigned long and will be a 32 bit bit
variable for 32 bit builds, is right shifted by 32 to get the high 32 bits
for fragment descriptor.
Instead of right shifting buffer_paddr by 32, use APIs lower_32_bits
and upper_32_bits.
Change-Id: I283792333075c11219a491d305b2822849c025f3
CRs-Fixed: 1062916
The htc_pm_runtime provide a convenience wrapper arround
the hif modules put/get apis
Change-Id: Ic2ef437390501e269278e68aa3a219364de8b2c0
CRs-Fixed: 1058274
Compile in runtime pm code for mcl. Maintain compilation
of runtime pm for future product lines and discrete chipsets.
Change-Id: Ieb34a64bf4624e959ae64aafa8ab03085aad9164
CRs-Fixed: 1044155
qcacld-2.0 to qcacld-3.0 propagation
HT oper mode is set to overlap legacy mode when a legacy
AP (11a only) comes in vicinity of SAP. HT oper mode should
be reset when legacy AP moves out of vicinity of SAP.
Reset function was not resetting HT oper mode in mac context
which was leading to issue.
Fix resets the operating mode to pure HT operating mode after
legacy AP moves out of vicinity of SAP.
Change-Id: Ie5af79341c60cd42c7030699cd1c165ef323e011
CRs-Fixed: 943414
qcacld-2.0 to qcacld-3.0 propagation
Currently driver flushes driver and firmware logs irrespective of ring id.
Host should flush the logs only for driver ring id.
Add changes to fix the same issue.
Change-Id: I50cfde1baaf18c1a3992f956182b49044ccc4b1d
CRs-Fixed: 1053219
Turn off opportunistic key caching (OKC) in firmware based on
"OkcEnabled" parameter in WCNSS_qcom_cfg.ini.
It is enabled by default and can be turned off with value 0.
Remove FEATURE_WLAN_OKC compilation option because OKC is always
compiled in for cld3.0. Remove underlying empty routine
cb_notify_set_okc_feature_enabled().
CRs-Fixed: 1057181
Change-Id: I174e860abef0532d62517635fe56927d8c3c9fd3
When Mobile Hotspot works as a wifi sharing mode, need to forward
packets between STA and SAP interfaces using NAT operation.
To improve power consumption, offload data packet forward and NAT
operation in IPA, without waking up the host APPS.
Data offload in STA interface is enabled only in STA+SAP concurrency
mode.
Change-Id: I1d6cef20c99d13ad328fabd4ec3ef30ac163f787
CRs-fixed: 1058990
Currently, the apps processor can power collapse in the middle of
DHCP negatiation. A wake lock was added to prevent sleeping until
negotiation is complete.
Change-Id: I9f133667ddb8fe27f43e6d7491006b881ad56d44
CRs-Fixed: 1061879
NDP session end handler is being invoked, whenever a session is being
ended irrespective of the mode of the session.
Add a check to call the ndp session end handler only if the adapter
mode is NDI.
Change-Id: Iade4de486ede375239a66517fd47d1eb4501b517
CRs-Fixed: 1060808
qcacld-2.0 to qcacld-3.0 propagation
Fix to add NULL check before dereferencing of pointer
Change-Id: I6cfbb5cb6a434a924e988bab50a5a062a2499ccf
CRs-Fixed: 1039152
qcacld-2.0 to qcacld-3.0 propagation
Currently, On failure of bss start the memory allocated
to channel list is not released which would lead to memory
leak.
To Fix: Release memory allocated to channel list on
bss start failure.
Change-Id: Ic25a80567aff78465f6c4ae2bfa580ded94035d3
CRs-Fixed: 937766
qcacld-2.0 to qcacld-3.0 propagation
Before accessing adapter context, validate adapter's magic number
along with NULL check to confirm that instance of adapter context
is valid.
Change-Id: If0365c765ad87be53b7e78d8744f0dcfe1a310ab
CRs-Fixed: 803527