Grafico dei commit

1157 Commit

Autore SHA1 Messaggio Data
Krishna Kumaar Natarajan
e42bb17c5a qcacld-3.0: Disable FEATURE_MEMDUMP in Kbuild
Disable FEATURE_MEMDUMP in Kbuild.

FEATURE_MEMDUMP should be redesigned appropriately for
cld-3.0. Disable this feature until implementation is
complete.

Change-Id: I3190414ff32d8a75b07c2c311e257f4d388ef26d
CRs-Fixed: 1026747
2016-06-23 12:26:33 -07:00
Krishna Kumaar Natarajan
1b909d7d51 qcacld-3.0: Fix out of bound memory copy in WMA
Fix out of bound memory copy by allocating buffer for
required size.

When WMA structures are converted into wmi_unified_param
structure, required memory was not allocated and hence
invalid memory was referenced resulting in stack corruption.

Change-Id: I868300cba9326b0146d3afadc9fef6337877d58d
CRs-Fixed: 1024437
2016-06-23 12:26:31 -07:00
Krishna Kumaar Natarajan
294da81dec Revert "qcacld-3.0: 11ac 160MHZ support workaround"
Revert the change merged while adding 160MHz support.

RM 5.0 FW was not handling phymode VHT20/40 in 2G correctly which
was resulting in an assert. This revert will now enable host to
associate in VHT20/40 modes in 2G. This change will revert
the Change-Id: I7e7f1a9c1ff82a567f278987dbbe14c5c8b9bb2e

Change-Id: If0f8fb71413e0aeb5d355c5bbb1f0626a18b8d6f
CRs-Fixed: 1014267
2016-06-23 12:26:28 -07:00
Vishwajith Upendra
9e25bc9e5f Release 5.1.0.11
Release 5.1.0.11

Change-Id: I4a03c1be30d4efeffc8987d310bf6f862cb896da
CRs-Fixed: 688141
2016-06-21 14:32:04 -07:00
Houston Hoffman
5649db91a8 Revert "qcacld-3.0: Refactor WMA data commands to fix WIN compilation"
This change reverts Change-Id:I48978e51ca6bd4416420ee66746d5bfe7adae3c9

Change-Id: I97bd7e1c9977c061f138d3415d2d7d756b401582
CRs-Fixed: 1008872
2016-06-14 14:55:16 -07:00
Manikandan Mohan
7579337abf qcacld-3.0: Fix compilation error in 4.4v Kernel
Fix compilation errors in Kernel 4.4 version.

Change-Id: I08ce390a7983cfe70b46a48d22d6cfde11dc4c30
CRs-fixed: 1026152
2016-06-14 14:28:50 -07:00
Manikandan Mohan
b6315dd6ab qcacld-3.0: Setup datapath for WISA mode
Setup datapath for WISA mode based on WISA CFG80211 vendor command.

Change-Id: I488ae908f04b007be12a3850d432bff314c03ebd
CRs-fixed: 997798
2016-06-14 14:28:47 -07:00
Nirav Shah
2e583a0344 qcacld-3.0: Datapath changes for WiSA specification
Datapath changes for WiSA specification.
- Multicast packets with 50000 as destination
  port should go at 6Mbps.
- Multicast packets with 50001 as destination
  port should go at 24Mbps.

Change-Id: Ic219f58f3e8b2f6863a275928429153defe63b5a
CRs-Fixed: 1010412
2016-06-14 14:28:44 -07:00
Nirav Shah
1da7768385 qcacld-3.0: Remove PROTO_TRACE feature
Remove PROTO_TRACE feature and add MGMT packet
logging in DPTRACE.

Change-Id: I9bc019bb03e703cb8044cb5d4290fd438b1c3e69
CRs-Fixed: 1008087
2016-06-14 14:28:41 -07:00
Nirav Shah
0d58a7ef5f qcacld-3.0: Enhance DPTRACE to support RX path
Enhance DPTRACE to support RX path and
add support for live mode.
Live mode will print info in kmsg and
log it in buffer as well.
To enable live mode use below command.
iwpriv wlan0 dump_dp_trace 1 0

Change-Id: Id309a4d75cec93654b4acac51e5be42eae7f0b35
CRs-Fixed: 1008087
2016-06-14 14:28:38 -07:00
Nirav Shah
cc1f1ae340 qcacld-3.0: Add ini support for DPTRACE
Add ini parameter and feature flag for
DPTRACE to enable/disable as per requirement.

Change-Id: I80db65adb7b8e82d5ea75cceac742fd229d7a2b5
CRs-Fixed: 1008087
2016-06-14 14:28:36 -07:00
Nitesh Shah
0ddd4f656a qcacld-3.0: HS20 indication element support
HS20 Indication element parsing is added to indicate
release number of the HS20 passpoint that is present
in Hotspot configurations.

Change-Id: I8671d569d3809ebe5da7233ec862ae2569f5c109
CRs-Fixed: 1019592
2016-06-14 14:28:33 -07:00
Govind Singh
6a2fe03b7b qcacld-3.0: Add PLD layer for SDIO bus(Part 7 - HIF SDIO)
PLD stands for platform driver. It is a interface between CLD and
CNSS/ICNSS. It hides the CNSS/ICNSS APIs from CLD and provides a set
of common APIs.
Other modules should include pld_common.h if they want to call PLD
APIs.

Change-Id: I7591761d2a2be0e22fcad13a504e9fe5f92b9608
CRs-Fixed: 1015316
2016-06-14 14:28:30 -07:00
Komal Seelam
92fff91248 qcacld-3.0: Get WLAN MAC address from CNSS platform driver
OEM's has provision to update cnss platform driver with the mac address.
Modify wlan functional driver to query cnss platform driver for the mac
address.

If the cnss platform driver is not populated with valid mac address, driver
will fallback to use the existing approach to update mac address.

Change-Id: I0b4bb53047eba3af8b98aadfae22974558153cb5
CRs-Fixed: 985585
2016-06-14 14:28:27 -07:00
Govind Singh
ec7ad72102 qcacld-3.0: Refactor WMA data commands to fix WIN compilation
Refactor WMA data commands to remove dependency of WMA header files
in common wmi layer.

Change-Id: I48978e51ca6bd4416420ee66746d5bfe7adae3c9
CRs-Fixed: 1008872
2016-06-14 14:28:24 -07:00
Yuanyuan Liu
f7aea120bf qcacld-3.0: Re-organize header file including structure
Include pld_common.h in pld_internal.h as it uses data structures
defined in pld_common.h.

CRs-Fixed: 1022636
Change-Id: I17f8abfbec08b620be5af677e1599554c5fc7ea6
2016-06-14 14:28:20 -07:00
Yuanyuan Liu
5e25f531b5 qcacld-3.0: Provide common functions of adding/deleting dev node
Provide common functions of adding/deleting dev node from PLD
global context. These two APIs should be called in probe/remove
callback functions.

CRs-Fixed: 1023650
Change-Id: Iff8157ab4396266ffb013700076d4107a3a21566
2016-06-14 14:28:17 -07:00
Yuanyuan Liu
59f81e020e qcacld-3.0: Add PCIE/SNOC wrapper functions in PLD
It is not flexible to call CNSS/ICNSS APIs directly in pld_common
as PCIE and SDIO share some CNSS APIs. It will introduce "duplicate
definition" errors when SDIO is added. Hence, add wrapper functions
for all used CNSS/ICNSS APIs.

CRs-Fixed: 1022778
Change-Id: I6a38434cfa99fc47543e995dd82b7d8ddc4453a7
2016-06-14 14:28:14 -07:00
Yuanyuan Liu
11f526acba qcacld-3.0: Use PLD internal flags
Use PLD internal flags in PLD layer instead of using CNSS/ICNSS
kernel flags.

CRs-Fixed: 1018099
Change-Id: Id32c62ccd1749ef5a38fd11aba6ce6e4fbe84a6e
2016-06-14 14:28:12 -07:00
Yuanyuan Liu
25c66e1ac9 qcacld-3.0: Add CONFIG_PM flag for PLD pcie suspend/resume
Add CONFIG_PM flag for PLD pcie suspend/resume as it is not needed
in other platform when CONFIG_PM is not defined.

Change-Id: Iab04d15c81cbb94ccbdeb9be2b00fa069a421a86
CRs-Fixed: 1014363
2016-06-14 14:28:08 -07:00
Himanshu Agarwal
a6cedee349 qcacld-3.0: Change unsigned long to uint64_t
Change unsigned long to uint64_t while updating intra bss forwarded
packets count to make sure that the assignment is compatible for all
architectures.

Change-Id: I6bc0e2d7524c117ce199b4a373f541fd06fc9ef8
CRs-Fixed: 996735
2016-06-14 14:28:06 -07:00
Poddar, Siddarth
3e9fa5c0ec qcacld-3.0: Add hdd layer changes for HL (Part 6 - HIF SDIO)
Add sdio bus type to PLD bus type to map it to low level bus type.

CRs-Fixed: 969334
Change-Id: Icfccca604f71b1d3b6cedcc9fa6300e9cc14f4c3
2016-06-14 14:28:04 -07:00
Manjunathappa Prakash
c8e756412e qcacld-3.0: Enable DEBUG_Rx_RING_BUFFER to keep track of posted buffers
This enables the tracking of posted rx ring buffers. With this we can
identify if host/fw is wrong when we hit below issue:
"wlan: [0:E :QDF] rx hash: htt_rx_hash_list_lookup: no entry found for"
<physical address>

Change-Id: Ib973a2e2a69e881beddea23cdc1d2d994eeb1e12
CRs-Fixed: 864569
2016-06-14 14:28:02 -07:00
Manjunathappa Prakash
92db771024 qcacld-3.0: Do not modify vdev Rx callback in peer (de)init functions
Do not reset vdev->rx callback in peer modification functions, same vdev
corresponds to multiple peer.
Without this TDLS handshake fails, vdev->rx null callback function
results in dropping of datapath packets.

Change-Id: I39b51d2596cde494bee888009583a42f12a3f068
CRs-Fixed: 1024298
2016-06-14 14:27:59 -07:00
Poddar, Siddarth
ef1f30228f qcacld-3.0: Add firmware download support for sdio bus (Part 5 - HIF SDIO)
Add BMI and firmware download support for sdio bus platform.
Refactor fw and bmi download routines to get rid of compile
time bus specific macro.
Refactor allocation and free routines for high latency bus.

CRs-Fixed: 969334
Change-Id: I2c217891d0ca4b503e7388b3ebe2f787e8325af5
2016-06-14 14:27:55 -07:00
Poddar, Siddarth
27b1a60e64 qcacld-3.0: Add datapath layer changes for sdio bus (Part 4 - HIF SDIO)
Remove bus specific calls from data path layer.
Add sdio specific target address
Add sdio bundling rates in datapath layer.
Fix rx data callback for UMP system.

CRs-Fixed: 969334
Change-Id: I0cd45479ca89b97455b4a9c71ce326646f38a5f3
2016-06-14 14:27:53 -07:00
Govind Singh
d5a7bcd155 qcacld-3.0: Add INLINE macro definition in os API header
FW common files needs to be in sync with host and fw.
Latest version of FW interface file uses INLINE macro and
INLINE macro definition is not exposed by fw interface files
as it has different definition of INLINE for different
toolchains/compilers. Abstract INLINE macro definition in
os API header file.

Change-Id: I431b12ce7f880e2f0e8db244f230c64f59e12e42
CRs-Fixed: 1012542
2016-06-14 14:27:47 -07:00
Manishekar Chandrasekaran
db9b86747f qcacld-3.0: Check validity of the adapter before access
Fix errors reported by static source analysis tool by
validating the adapter to make sure it is not NULL
before access.

Change-Id: I312da3ebf6913e5b8999a9ad9dc4eaa6ae08234b
CRs-Fixed: 1027065
2016-06-10 11:30:58 -07:00
Manishekar Chandrasekaran
c67b2bb16c qcacld-3.0: Restart SAP through (E)CSA on channel avoidance event
Restart SAP through (E)CSA on receiving channel avoidance event
from FW instead of doing a hard restart. This provides the
advantage of not disconnecting the connected clients.

Change-Id: Ibaa74dc8d7c75ed793faa418ee8c179b4210b35e
CRs-Fixed: 1020771
2016-06-10 11:30:54 -07:00
Yuanyuan Liu
9736118d7e qcacld-3.0: Add NULL check for qdf_ctx
Add NULL check for pointer qdf_ctx as it returned from call to
function 'cds_get_context' may be NULL and could be dereferenced.

Change-Id: Iea44cd1a2d20ee04d1720c4e8af1065320a589fd
CRs-Fixed: 1024778
2016-06-09 22:14:39 -07:00
Ryan Hsu
50da826021 qcacld-3.0: Add check to avoid NULL pointer access
nlmsg_put might return NULL if the tailroom is insufficient
to store the nl message. Add the check to avoid the NULL
pointer access.

Change-Id: I01f88262e7cf84cd611c8f72a11577e61e7af1a3
CRs-fixed: 1024810
2016-06-09 22:13:26 -07:00
Dhanashri Atre
5166d573eb qcacld-3.0: Higher 32 bits in the dma address are ignored
In TSO the higher bits in the 64 bit dma address are being ignored.
This is resulting in an incorrect address being programmed in the
fragment descriptor.

Change-Id: Id015e81212d2ded3f0716ca5cc06ae2220952270
CRs-Fixed: 1024169
2016-06-09 22:10:03 -07:00
Yuanyuan Liu
1348108467 qcacld-3.0: Return error code when any of bus register failed
Return error code when any of bus register functions failed.

Change-Id: I3cdc6afaa3899f1c32ab85fec5b89fa2e736d7b8
CRs-Fixed: 1023647
2016-06-09 22:09:57 -07:00
Manishekar Chandrasekaran
ec26759fc8 qcacld-3.0: Correct channel parameters during channel switch notification
Correct the channel parameters that are calculated and used to indicate
the channel switch notification sent to user space. The channel bonding
values should not be used to get the channel width information since
they can be used only in STA mode to enable or disable the channel
bonding. Fix the same by getting the updated channel switch information
from the session entries.

Change-Id: Ia51779cddb2b9c3108b211822f104c45f88e53fd
CRs-Fixed: 1021380
2016-06-09 22:09:51 -07:00
Leo Chang
07b28f6878 qcacld-3.0: enable hsoffload feature
Enable HS offload feature against latest kernel and ipa release.
Compile against latest ipa header is required.

Change-Id: I704bdfde098de6e33fb6b30455a75cb6a6cddb21
CRs-fixed: 1019762
2016-06-09 22:09:46 -07:00
Manishekar Chandrasekaran
44e334fb7e qcacld-3.0: Sort ACS channel list for all channel width cases
Ensure that the channel list used for ACS channel selection
is sorted for all the possible channel width cases. In the
current implementation, channel list sorting is not done for
channels widths 80, 80+80 and 160MHz. Along with this the
ACS channel range is getting set before the 11ac override,
leading to incorrect hardware mode. Fix the same by setting
the ACS range after 11ac override and ensure that channel
list is sorted in all the valid channel width cases.

Change-Id: Ic773b3a4b1c049bc2053c1d0d17dd047d7a88324
CRs-Fixed: 1022304
2016-06-06 18:45:32 -07:00
Komal Seelam
9764a840a6 qcacld-3.0: Configure SSDP address to FW as WoW pattern or MC list
Incoming Data packets are filtered by FW during WoW based on the pattern
configuration done by host.

The incoming packet is filtered out to Multicast list if configured,
else it looks for other patterns that are configured.

SSDP pattern is not configured along with Multicast List, instead it
is configured as a normal WoW pattern during system/runtime suspend.
So, all the ssdp packets are dropped by FW during WoW.

To address this, host should configure the SSDP pattern as a Multicast
filter if Multicast filter is enabled in ini, else configure it as a
normal WoW Pattern. Hence the fix.

Change-Id: I64aa30832999a779591bdfce02e13545a6cbf4f2
CRs-Fixed: 1010542
2016-06-06 18:45:30 -07:00
Himanshu Agarwal
5ac2f7bef9 qcacld-3.0: Refactor intra bss forwarded packets count
Propagation from qcacld-2.0 to qcacld-3.0.

Initially, when a packet is forwarded from txrx layer, it is added in
count only once although the count should increase by 2 as there is one
rx packet and one tx packet that is not getting considered in the hdd
packet count.

Add code to ensure that when packet is forwarded from lower layers,
it get considered accurately in the packet count.

Change-Id: I47bc1e0ecfa2e831438534cf34d37086a306b4e9
CRs-Fixed: 996735
2016-06-06 18:45:27 -07:00
Himanshu Agarwal
8c66df3699 qcacld-3.0: Remove error print from kmsg
Propagation from qcacld-2.0 to qcacld-3.0.

Remove error print from kmsg as this print is unnecessary and
may flood the kmsg.

Change-Id: I0978f88af6677cb0c1e1db5eae7e5d6a69bd4b70
CRs-Fixed: 997243
2016-06-06 18:45:25 -07:00
Himanshu Agarwal
11c874abae qcacld-3.0: Add intra bss forwarded packets count
Propagation from qcacld-2.0 to qcacld-3.0.

In lpm qos voting, no. of packets or bytes sent or received in a
particular amount of time is recorded and decision of disabling
or enabling lpm is done based on that. These packets are recorded
in HDD layer. In case when packets are forwarded to tx only, packets
don't come upto HDD layer and so in case of intra bss forwarding,
lpm qos voting is not being executed appropriately.

Add code to calculate the intra bss forwarded packets in txrx layer
and update them in calculating lpm qos voting.

Change-Id: I805663688cb300c8735b3e2f9680818a7b50bc9f
CRs-Fixed: 990868
2016-06-06 18:45:21 -07:00
Govind Singh
d39315d8cb qcacld-3.0: Move SIGN_HEADER_MAGIC definition to BMI layer
FW common files needs to be in sync with host and fw.
SIGN_HEADER_MAGIC is not defined in fw common header files.
Abstract extra definition internal to host driver.

Change-Id: Ie902ca191617a6829c2cf3e6a45c3d170ae8d8c6
CRs-Fixed: 1012542
2016-06-06 18:45:18 -07:00
Nirav Shah
07e39a6738 qcacld-3.0: Refactor DPTRACE to support new features
Refactor DPTRACE to support new datapath features like
TSO and FASTPATH and add support to log DHCP, ARP and
EAPOL packets.

Change-Id: I9b80a003759c962020165c21dbe29330700c4667
CRs-Fixed: 1008087
2016-06-06 18:45:16 -07:00
Nirav Shah
7f337dbb7a qcacld-3.0: Use different copy engine for packetlog
Create new endpoint and use CE11 for packetlog
messages from target to host.

CRs-Fixed: 995628
Change-Id: I0df597468b0b7399dc545b5a4d4fd1a4c04a1df0
2016-06-06 18:45:14 -07:00
Agrawal Ashish
c9ddbabf76 qcacld-3.0: Implement vendor command to restart SAP on some channel
qcacld-2.0 to qcacld-3.0 propagation

Add support for vendor command which will do restart of the SAP
on desirable channel.
QCA_NL80211_VENDOR_SUBCMD_SET_SAP_CONFIG is used to send
driver to restart SAP device on some other channel.
Upon receiving this command, driver will do __hdd_hostapd_stop
and will disable all queues.
After that WLANSAP_StartBss start SAP on user config channel.

Change-Id: I34d4e4f758ca7e010ae198af31d9fc3777973b22
CRs-Fixed: 1000593
2016-06-06 18:45:10 -07:00
Akash Patel
5b733215c9 Release 5.1.0.10
Release 5.1.0.10

Change-Id: I3fa5387f664b39f0647a526b820317c6f7e27190
CRs-Fixed: 688141
2016-06-01 10:51:22 -07:00
Yuanyuan Liu
960fa2145c qcacld-3.0: Fix error of invalid dev type when unloading wlan
PLD deletes dev node before calling HDD remove callback functions.
It causes an error of reporting invalid dev type when a platform
API is called within remove callback function. Deleting dev node
after remove callback being called will fix the issue.

CRs-Fixed: 1020538
Change-Id: I3df5810c20a5965b908f15d4182e9b927e033afc
2016-06-01 10:51:16 -07:00
Amar Singhal
83a047accb qcacld-3.0: Process SET_FCC_CHANNEL only after scan is finished
Currently SET_FCC_CHANNEL issues "update channel list" to firmware.
If scan is in progress, firmware aborts the scan resuting delay in
results update on the GUI. To avoid this, issue "update channel list"
only after scan is finished.

CRs-Fixed: 972208
Change-Id: I4c34010109443434bbe3abf45df7a0cf2effbee2
2016-06-01 10:49:56 -07:00
Amar Singhal
7c1e898b61 qcacld-3.0: Enable channels 12 & 13 when SET_FCC_CHANNEL is set
qcacld-2.0 to qcacld-3.0 propagation

Currently Ch 12/13 are disabled when SET_FCC_CHANNEL is issued by
framework. To meet FCC rules and to meet requirement for
other countries regulatory reduce TxPower for channel 12/13.

Change-Id: Ie833804e565f40e28845160452d3245334a34308
CRs-Fixed: 961580
2016-06-01 10:49:46 -07:00
Amar Singhal
c01d4a6f4c qcacld-3.0: Change default INI value for 11d
Only tablet solutions are likely to use 11d. So disable 11d
by default.

Change-Id: Ia999b47af83bd40e46cc9b48d1d173d6aecd9f1a
CRs-Fixed: 1018607
2016-06-01 10:49:38 -07:00
Rajeev Kumar
8ce712f9d7 qcacld-3.0: Convert wlan_hdd_wowl.c to unified logging
Currently the HDD code uses a variety of logging APIs.
In qcacld-3.0 HDD should converge on a unified set of
logging APIs. Update wlan_hdd_wowl.c to use the unified
set of logging APIs.

Change-Id: I3243b578fac6bdfc7bcdc45808b4466f38d61b3d
CRs-Fixed: 937692
2016-06-01 10:49:23 -07:00