qcacld-2.0 to qcacld-3.0 propagation
Add sanity check for tx desc to avoid crash if firmware report the invalid
msdu id to the host.
Change-Id: I5a339e81f3de882b5f7cc42b0628ea4738141c58
CRs-Fixed: 1071620
qcacld-2.0 to qcacld-3.0 propagation
TCP throttling logic changed a little after 3.19-rc1 kernel, which will
throttle the TCP packets to the host driver, it will heavily affect the
TCP UP Link throughput. So need to orphan the socket buffer asap, which
will call skb's destructor to notify the TCP stack that the SKB buffer is
unowned, And then the TCP stack will pump more packets to the host driver.
This kernel change's subject is "tcp: refine TSO autosizing".
And the commid id is: 605ad7f184b60cfaacbc038aa6c55ee68dee3c89
Here is the TCP TX throughput test data with 4.1 kernel on the customer TV,
the iperf's parameter is 85.3k, and 1 pair in default.
1. Without this change:
HT20: 35.1 Mbps
VHT80: 88.4 Mbps
88.4 Mbps (2 pairs)
2. With this change:
HT20: 82.3 Mbps
VHT80: 115 Mbps
164 Mbps (2 pairs)
And this change will enhance the UDP TX throughput too, but if more
packets from the kernel exceeding the driver's TX capability, the multiple
out of data packets will be dropped in the driver, so it needs to be
protected by TX following controlled (QCA_LL_TX_FLOW_CT).
And here is the UDP TX throughput data with 4.1 kernel on the customer TV:
1. Without this change:
HT20: 100 Mbps
VHT80: 155 Mbps
2. With this change
HT20: 124 Mbps
VHT80: 263 Mbps
Change-Id: I7f40c7b2c516d71f525fff4aaf2b8a71473b647f
CRs-Fixed: 1056126
QCA6290 is part of the Lithium chipset family. Without
support for lithium, compiling in the register deffinitions
for QCA6290 does not make sense.
Change-Id: Id251a931287d2662e0b910da299c12e9d45b719c
If WLAN FW crashes while in suspend mode then kernel tries to
resume the driver and WMA sends resume indication to WLAN FW and
waits for the response from WLAN FW. Since FW is already crashed,
there will not be any response from WLAN FW and wait logic waits
for the timeout before bailing out. This may cause delay in
completing the recovery and may cause other race conditions
becuase of that. To solve this, we registered for shutdown
notification so that call back would be called during recovery
and resume event can be set to make sure resume thread doesn't
just wait for the FW response. However, it takes around 7 ~ 12 secs
for platform driver to receive PD down notification and trigger
the recovery but wma only waits for 6 secs and still crashed
before recovery started. The fix it to extend WMA_RESUME_TIMEOUT
to 25 secs so that it can be interrupted gracefully by recovery
call backs.
CRs-Fixed: 1087911
Change-Id: Iba8b94111e4b4f0b0db8794e98c0645c667379a8
WMI and NAN MSG changes for NAN security support
WMI and NAN MSG changes for NAN security support
Change-Id: I40e07f668eefc0b243e59328c15ba45c5cdd5848
CRs-Fixed: 865207
WMI changes for mac randomization and whitelisting IEs : FR 37569
WMI changes for mac randomization and whitelisting IEs : FR 37569
Change-Id: I5ac8ada7efd34a46d9dc479188678584ec736329
CRs-Fixed: 865207
Update default scan channels list with only channels 1, 6 and 11
for 2.4GHz and 36, 40, 44 and 48 for 5GHz for emulation
platforms.
Change-Id: I20dd584bf759d780f5dd3a7740eba677cf31e80e
CRs-Fixed: 1089633
Remove legacy apis call from out side of data path.
Replace legacy apis to cdp apis.
Introduce cdp apis wrappers.
wma module.
Change-Id: Ia1d89262184d68974bfb2d28af0ccba212afaf55
CRs-fixed: 1075736
Remove legacy apis call from out side of data path.
Replace legacy apis to cdp apis.
Introduce cdp apis wrappers.
hdd module.
Change-Id: I2ebddfe9cf063cdbf8caa6b4a65a80fda033b3ba
CRs-fixed: 1075736
Remove legacy apis call from out side of data path.
Replace legacy apis to cdp apis.
Introduce cdp apis wrappers.
dp module.
Change-Id: I345abb70b6ddd7f5768cea2d933e0023c5742b4a
CRs-fixed: 1075736
Remove legacy apis call from out side of data path.
Replace legacy apis to cdp apis.
cds module.
Change-Id: I3f26b69711f494bad7fbaf07c5b8961125f13e65
CRs-fixed: 1075736
When cds_open fails, several cleanup actions are missed.
cds_shutdown_notifier_purge
hdd_green_ap_deinit
wlan_hdd_deinit_tx_rx_histogram
Change-Id: I9812b26636b1fd82320de323538777ac048ea824
CRs-Fixed: 1089946
Make changes for per per Rx context LRO manager, this addresses
all parallel Rx concurrency issues. There by removes all the contention.
Change-Id: I3609bcdb67e0046fac5a22bba9cb6a5eb4bcbe84
CRs-Fixed: 1079320
With the new statemachine cds start/stop will not be invoked without an
interface up from upperlayer. As part of cds stop host sends de-initialization
sequence to firmware, If there is no interface up from the upper layer and
driver gets removed, host driver doesn't send the de-init
inidication to firmware and starts closing its modules because of this
fw & host are out of sync.
To mitigate the issue send the de-init sequence during if the modules are
opened but not enabled.
Change-Id: I52fddc1b8765105c44192085ba93bf00d14eb0bd
CRs-Fixed: 1073599
IPA Disconnect events are not sent to IPA driver in case
of SSR. This is resulting in mismatch between IPA driver
and HOST driver.
Reset IPA disconnect events during SSR, to have coherent
connect/disconnect counter.
Propagation from qcacld-2.0 to qcacld-3.0.
Change-Id: Ie07e5840fc997f41b987fc7e548e1a7e3484c113
CRs-Fixed: 1034712
The kernel is unmapping the virtual address of memory allocated on the stack.
To avoid kernel page fault when delayed handlers try to check the out of scope
structures magic value for liveness, make the contexts static.
A better solution is under development but will need more testing.
Below hdd functions are taken care of:
hdd_get_bpf_offload
hdd_get_tsm_stats
wlan_hdd_get_link_status
wlan_hdd_get_rssi
wlan_hdd_get_snr
wlan_hdd_get_linkspeed_for_peermac
wlan_hdd_get_class_astats
wlan_hdd_get_temperature
Change-Id: I9b6decba1087e2d30f1572cc9d020b2b0cb5cec4
CRs-Fixed: 1087903
Android framework indicates dhcp start and stop using power save
(ps disable for dhcp start, ps enable for dhcp stop).
Use this new indication method for any of the dhcp dependent operations.
Also remove resetting dhcp_done flag in csr_roam_connect() function,
as assumption of dhcp will trigger for every new connection is not
correct, like in static IP address case there won’t be dhcp indications,
and this flag remains false.
Change-Id: I3a995d859c39591b0a9fb4bc6e636e580c02dbd4
CRs-Fixed: 1088523
There could be a possible race condition between WDI enable_disable
in STA+SAP mode due to STA WDI disable for every client disconnection.
Fix to disable STA WDI only when the last client disconnected.
Change-Id: I02206037708f56bb7d46e0ae280429949fd7beab
CRs-Fixed: 1086926
qcacld-2.0 to qcacld-3.0 propagation
Currently, host takes sme global mutex lock while sending
flush log cmd to firmware. This api is also invoked from
softirq context hence leading to crash.
As a part of this fix, Remove Sme lock because host does not
modify the sme global parameters during sending this cmd to
firmware.
Change-Id: If6620d458f54563ea7e9f944721498184fbbdb5d
CRs-Fixed: 1073915
qcacld-2.0 to qcacld-3.0 propagation
Currently, kernel invoke the regdomain notifier to host driver
using registered callback. If kernel call this callback after
cfg80211 aka system suspend, Then because of race condition host
might send the PDEV SET REGDOMAIN/PARAM to fwr after WOW ENABLE
cmd which is not correct cmd sequence.
Change-Id: Ie3cd94d86345c9b6de0c5597d23e0b0dc6751937
CRs-Fixed: 1075079
While processing open adapter, error handling is not taken
care appropriately, leading to device crash due to invalid
memory access.
Handle error cases cleanly while processing open adapter.
Change-Id: If01d1018ddc3b9a17c4d059c30bcc3a424538c3e
CRs-Fixed: 1087824
qcacld-2.0 to qcacld-3.0 propagation
Current implementation does not handle to send a SCAN ABORT indication
to upper layers, on a Band change when a scan is in progress
Changes are made on SME layer by configuring a 'abortScanIndication'
flag which is a part of the scan command, so that the necessary
action is taken care based on the flag value.
Change-Id: Iffe7e65dc1e8c7951ce3c4be3c21ef2103091d13
CRs-Fixed: 879520
qcacld-2.0 to qcacld-3.0 propagation
Currently host sends only clear AC stats mask to firmware during
disconnection hence PEER stats have large random garbage values.
As a part of this fix, host ensure to send clear all PEER stats
mask to firmware.
Change-Id: I804735d8e85769b04a33008c3b9b72029d0c4368
CRs-Fixed: 1019043
Del virtual interface is not processed while un-initializing SAP
as validate session-id fails, because sessionId is invalidated
in case of SAP during the stop ap leading to improper cleanup
during the sap close.
Also, del virtual iface can come even when the interface is down.
Hence, don't validate the sessiodId while processing del virtual
iface.
Change-Id: Ic1d365e09e0d280fa5d4a1543a594a08a652a717
CRs-Fixed: 1086647
qcacld-2.0 to qcacld-3.0 propagation
WMM access category stats of old BSS getting added to stats of new BSS
on network switch.
To mitigate this issue, clear WMM access category stats on disconnect.
Change-Id: Icd1ce4ae0595098f95d5534b4b752c5692264fb8
CRs-Fixed: 999832
Propagate from qcacld-2.0 to qcacld-3.0
Currently there are some places where break is missed at the end of
switch case. Add fix to correct it.
CRs-Fixed: 1063255
Change-Id: I117bdf7280e7cd1127d2251f1412a08ac8aadbc9
Propagate from qcacld-2.0 to qcacld-3.0
Currently there are some places where array name is compared to NULL
in MAC. Add fix to correct it.
CRs-Fixed: 1063255
Change-Id: I4f620feff23475d0b719fae7ef8e0ac1ab3b8908
Propagete from qcacld-2.0 to qcacld-3.0
In wmi_unified_send_txbf() the local variable is not initialized,
add initialization before use it to avoid some risk.
Change-Id: I9172652f65886e8c95801af46554d75262fdf803
CRs-Fixed: 979671
Propagate from qcacld-2.0 to qcacld-3.0
Add vos_mem_free() in wma_tdls_event_handler() to avoid memory leak
in the error case.
Change-Id: I845d5ee9f42569efddb89e29bfd158de5ab7f0d9
CRs-Fixed: 979671
Propagate from qcacld-2.0 to qcacld-3.0
In WLANSAP_ScanCallback(), the local variable event is contained
in a unnecessary compiler marco. Remove it to avoid some compilation
error risk.
Change-Id: Ia3249c464f909896af5f242510742c68ad02cc5a
CRs-Fixed: 979671
Propagate from qcacld-2.0 to qcacld-3.0
In limPerformFTPreAuth(), ft_ies pointer itself is used to determine
whether FT IE is present which is incorrect way to determine. Use
ft_ies_length instead to determine whether FT IE is present.
Change-Id: I36329de0ae41c03383f193b43eea214aed2770ca
CRs-Fixed: 979671
qcacld-2.0 to qcacld-3.0 propagation
If wlan_hdd_qcmbr_command returns -EAGAIN and
pqcmbr_data->copy_to_user is set to 1, -EAGAIN will be
overwritten by the return value of copy_to_user.
Only call copy_to_user when wlan_hdd_qcmbr_command returns 0.
Change-Id: Ie75b3f7329d89766641caec1f377f38127937976
CRs-Fixed: 965103
qcacld-2.0 to qcacld-3.0 propagation
Fail to allocate local peer id when connecting the last 32th station in
AP+AP mode. The reason is the OL_TXRX_NUM_LOCAL_PEER_IDS is defined to 33,
but each AP's peer will occupy one ID. So the remainder are not enough,
change this macro to 34 will fix this issue.
Change-Id: Ie5b63b6885fd7f2d4f941b6ffad43cbac57040e5
CRs-Fixed: 1085367