Commit gráf

2948 Commit-ok

Szerző SHA1 Üzenet Dátum
gbian
e55c956d40 qcacld-3.0: Add sanity check for tx desc
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
2016-11-24 20:21:17 -08:00
gbian
ec670c5909 qcacld-3.0: Fix bad TCP up link throughput with latest kernel
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
2016-11-24 13:19:15 +08:00
qcabuildsw
1facd26d93 Release 5.2.0.1N
Release 5.2.0.1N

Change-Id: I606e81b111e8d8ada3163fd5ca8da7e6bc6dd45c
CRs-Fixed: 688141
2016-11-22 15:35:01 -08:00
Houston Hoffman
a0f93495d3 qcacld-3.0: Only compile QCA6290 registers for lithium
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
2016-11-22 15:35:00 -08:00
qcabuildsw
dc6518b646 Release 5.2.0.1M
Release 5.2.0.1M

Change-Id: Ica5151d49895b10fe4e3ba805b932eb2ac5564fe
CRs-Fixed: 688141
2016-11-21 15:50:01 -08:00
Yuanyuan Liu
c7432030fa qcacld-3.0: Extend WMA_RESUME_TIMEOUT to 25 secs
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
2016-11-21 15:50:00 -08:00
qcabuildsw
49b73a1248 Release 5.2.0.1L
Release 5.2.0.1L

Change-Id: I0b6fffa3c79d67e3bb50cebf1b2f37fa0e62910f
CRs-Fixed: 688141
2016-11-21 15:20:11 -08:00
Leo Chang
395cbb57fa qcacld-3.0: clean up build options fit into emulation platform
Introduced emulation specific flag

Change-Id: I6783f43974274ff8c9d0265133339a8d8a33329b
CRs-fixed: 1086846
2016-11-21 15:20:10 -08:00
qcabuildsw
48968d9c81 Release 5.2.0.1K
Release 5.2.0.1K

Change-Id: Id91467577923d9b8b9a6df19a03b26fd55dc8863
CRs-Fixed: 688141
2016-11-21 04:13:07 -08:00
Nishank Aggarwal
dc2e348ef0 qcacld-3.0: CL 1706778 - update fw common interface files
WMI and NAN MSG changes for NAN security support
WMI and NAN MSG changes for NAN security support

Change-Id: I40e07f668eefc0b243e59328c15ba45c5cdd5848
CRs-Fixed: 865207
2016-11-21 04:13:06 -08:00
Nishank Aggarwal
b63a675050 qcacld-3.0: CL 1705684 - update fw common interface files
Add FR35871 MDPU size setting feature on DRONE project
Add FR35871 MDPU size setting feature on DRONE project

Change-Id: I8d6acc3b770dc80d5f5493ae129c2d4e9d8fea5f
CRs-Fixed: 865207
2016-11-21 04:13:04 -08:00
Nishank Aggarwal
593df92bb0 qcacld-3.0: CL 1704659 - update fw common interface files
add FR35874 enable RTS for SIFS bursting on DRONE project

Change-Id: I755c57c5b3a30877d5da8e5f20baa1bece314e86
CRs-Fixed: 865207
2016-11-21 04:13:03 -08:00
Nishank Aggarwal
7ebd1a34e6 qcacld-3.0: CL 1699142 - update fw common interface files
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
2016-11-21 04:13:01 -08:00
Nishank Aggarwal
78bf70c22d qcacld-3.0: CL 1692916 - update fw common interface files
WMI changes for PPET

Change-Id: I8ccce0dc9dafed70be42e62c5808db349ce88da1
CRs-Fixed: 865207
2016-11-21 04:12:59 -08:00
qcabuildsw
97304b6950 Release 5.2.0.1J
Release 5.2.0.1J

Change-Id: I340be245f19d3c762e6e038fc0621ae1917b50a5
CRs-Fixed: 688141
2016-11-19 19:32:20 -08:00
Aravind Narasimhan
4ed314d52c qcacld-3.0: Kbuild change to build QCA6290 register definitions
Add qca6290defs.c and define QCA6290_HEADERS_DEF

Change-Id: I0c583542fc18f28c4a9da1f804aa33227dfbdda8
CRs-Fixed: 1089874
2016-11-19 19:32:19 -08:00
qcabuildsw
ee4073f9a7 Release 5.2.0.1I
Release 5.2.0.1I

Change-Id: Id211f77d398156cc47d951aa449002fdec479849
CRs-Fixed: 688141
2016-11-17 19:45:09 -08:00
Krishna Kumaar Natarajan
d542b8ecb7 qcacld-3.0: Enable scan only on selected channels
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
2016-11-17 19:45:08 -08:00
qcabuildsw
22cc4aa624 Release 5.2.0.1H
Release 5.2.0.1H

Change-Id: I3fb66165b96fe8987b9097ae578ad00ead6b1013
CRs-Fixed: 688141
2016-11-17 19:13:21 -08:00
Leo Chang
5f7a1e0299 qcacld-3.0: enable wifi 3.0 build
Enable wifi 3.0 compile and feature sets

Change-Id: Ifbff91bfd97eaeaef50b5caed902bb24e1034f3c
CRs-fixed: 1086846
2016-11-17 19:13:20 -08:00
Leo Chang
96464904cc qcacld-3.0: wma: change legacy data path api to cdp api
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
2016-11-17 19:13:17 -08:00
Leo Chang
fdb45c3014 qcacld-3.0: hdd: change legacy data path api to cdp api
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
2016-11-17 19:13:15 -08:00
Leo Chang
9872676b91 qcacld-3.0: dp: change legacy data path api to cdp api
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
2016-11-17 19:13:13 -08:00
Leo Chang
9b09703f79 qcacld-3.0: cds: change legacy data path api to cdp api
Remove legacy apis call from out side of data path.
Replace legacy apis to cdp apis.
cds module.

Change-Id: I3f26b69711f494bad7fbaf07c5b8961125f13e65
CRs-fixed: 1075736
2016-11-17 19:13:10 -08:00
qcabuildsw
56af9925b5 Release 5.2.0.1G
Release 5.2.0.1G

Change-Id: Iba48757096fd7f8bd3f885fa96c8b2069236e73d
CRs-Fixed: 688141
2016-11-16 16:37:49 -08:00
Yue Ma
e6a7a32b00 qcacld-3.0: Enable to use CNSS2 platform driver
Enable the flags to use CNSS2 platform driver for host driver.

Change-Id: I18996443ab8e7c24fb65b6003cfc368b664b5837
2016-11-16 16:37:49 -08:00
qcabuildsw
8c5f48dda7 Release 5.2.0.1F
Release 5.2.0.1F

Change-Id: I939ac1429bb4028fe69a133bcce69cc09b4f5c0c
CRs-Fixed: 688141
2016-11-15 13:48:06 -08:00
Houston Hoffman
47a4a05cfa qcacld-3.0: Fix memory leaks when cds_open fails
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
2016-11-15 13:47:51 -08:00
qcabuildsw
d52e8226c3 Release 5.2.0.1E
Release 5.2.0.1E

Change-Id: Icb1b905171f04c6f88aa7eeaa15e72005b1fdac5
CRs-Fixed: 688141
2016-11-15 13:47:25 -08:00
Manjunathappa Prakash
04f2644230 qcacld-3.0: Add changes for per NAPI or per Rx CE LRO manager
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
2016-11-15 13:45:29 -08:00
Govind Singh
b048e87f2c qcacld-3.0: Refactor De-init sequence to firmware when the modules are not enabled
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
2016-11-14 11:51:19 -08:00
Govind Singh
9c58eba273 qcacld-3.0: Reset IPA disconnect events during SSR
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
2016-11-14 11:51:17 -08:00
Houston Hoffman
59c097f489 qcacld-3.0: Use static contexts when checking magic of stack memory
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
2016-11-14 11:51:15 -08:00
Arif Hussain
3316f402c3 qcacld-3.0: Use sme_dhcp_start/stop_ind api for dhcp state
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
2016-11-14 11:51:14 -08:00
Yun Park
9b5030f8a8 qcacld-3.0: Disable STA WDI only when the last client disconnected
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
2016-11-14 11:51:11 -08:00
Mukul Sharma
906e1e4678 qcacld-3.0: Remove sme global lock while sending flush log cmd
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
2016-11-14 11:51:10 -08:00
Mukul Sharma
0c854a07a6 qcacld-3.0: Do not handle regdomain notifier after cfg80211 suspend
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
2016-11-14 11:51:08 -08:00
Hanumanth Reddy Pothula
00a39e7519 qcacld-3.0: Handle error cases cleanly during open adapter
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
2016-11-14 11:51:06 -08:00
Ratnam Rachuri
b7595a383d qcacld-3.0: Send scan abort notification to Supplicant on band change
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
2016-11-14 11:51:05 -08:00
Mukul Sharma
491021c2a1 qcacld-3.0: Clear Link layer PEER stats during disconnection
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
2016-11-14 11:51:03 -08:00
Hanumanth Reddy Pothula
623f1aa775 qcacld-3.0: Don't validate sessionId while processing del virtual iface
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
2016-11-14 11:51:01 -08:00
Mahesh A Saptasagar
6dda2028c5 qcacld-3.0: Clear WMM access category stats on disconnect
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
2016-11-14 11:51:00 -08:00
Yingying Tang
9fad0cab1c qcacld-3.0: Add break at end of switch case
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
2016-11-14 11:50:58 -08:00
Yingying Tang
54ebfe43ab qcacld-3.0: Fix incorrect NULL pointer check for MAC layer
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
2016-11-14 11:50:57 -08:00
Yingying Tang
adfc2ac6fe qcacld-3.0: Initialize the local variable before use it
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
2016-11-14 11:50:55 -08:00
Yingying Tang
aafa8e9803 qcacld-3.0: Avoid memory leak in wma_tdls_event_handler()
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
2016-11-14 11:50:54 -08:00
Yingying Tang
e5f658e2e8 qcacld-3.0: Remove the unnecessary compiler marco
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
2016-11-14 11:50:52 -08:00
Yingying Tang
c3ed865420 qcacld-3.0: Use IE length to determine if that IE is present
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
2016-11-14 11:50:51 -08:00
zding
6af26a3a3f qcacld-3.0: Fix wrong return value of QCMBR command
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
2016-11-14 11:50:49 -08:00
gbian
5926db8342 qcacld-3.0: Fix 32 clients support issue in AP+AP mode
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
2016-11-14 11:50:48 -08:00