Commit Graph

2925 Commits

Author SHA1 Message Date
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
wadesong
4e55519a5a qcacld-3.0: Replace literal number usage with a proper macro
qcacld-2.0 to qcacld-3.0 propagation

A macro should be used for radar table allocation/freeing
instead of a literal number

Change-Id: Iccf2aee57f52dedeebb87f1445edd9d30bbdeec3
CRs-Fixed: 1072046
2016-11-14 11:50:46 -08:00
wadesong
f2e86b2814 qcacld-3.0: Fix memory leak during SAP restart
qcacld-2.0 to qcacld-3.0 propagation

IE buffers for probe resp, assoc resp and beacon should be freed
when 1)SAP starting fails; 2)SAP starting success event is signaled

Change-Id: Ic9cc1c8d58667f34fbc877aeca4405b0156b1264
CRs-Fixed: 1071990
2016-11-14 11:50:45 -08:00
Sandeep Puligilla
ca631617f1 qcacld-3.0: Validate session id in SME
As part of cds connection in progress validation
check, CDS is accessing the session id from an
adapter which is just created and initialized with
an invalid sessionid. CDS passes the invalid session
id to SME. SME is trying to access global structure
with the same session id and triggered the crash.

Add a session id validation check in SME before
accessing the global mac structure.

Change-Id: Ic0884b2121509807cabfc62b47238985c0e1356e
CRs-fixed: 1087264
2016-11-14 11:50:43 -08:00
Amar Singhal
6fc6638667 qcacld-3.0: Use pointer assignment instead of struct
We need to disable any channel that does not have 20 MHz
bandwidth flag set. Use pointer assignment to accesss wiphy.
Local copy does not work.

CRs-Fixed: 1087967
Change-Id: Ia3b783046d0f08ebb039ef808e1add1dd8fd5fde
2016-11-14 11:50:42 -08:00
Mukul Sharma
b7b575b41b qcacld-3.0: Add support for silent recovery in cds_trigger_recovery()
qcacld-2.0 to qcacld-3.0 propagation

Currently, cds_trigger_recovery does not support silent recovery
instead host send WMI_FORCE_FW_HANG_CMDID and wait for timeout.
In cases where wmi cmd cannot be sent to firmware, host needs
silent recovery.
As a part of this fix, Parameterize the cds_trigger_recovery
function for silent recovery.

Change-Id: I9bb631f7346a267a10348037c49606af43c6be4f
CRs-Fixed: 1053303
2016-11-14 11:50:40 -08:00
Manjeet Singh
ec402065db qcacld-3.0: Validate regulatory channels
In function hdd_process_regulatory_data, array reg_channels is limited
by enum value NUM_CHANNELS. But there is no check on the index
to the reg_channels. This can lead to a buffer overflow situation.

Prevent buffer overflow for reg_channels by checking index
against NUM_CHANNELS.

Change-Id: I6050e6616e9bd6365943d2aaf8fbdb53a92f17d0
CRs-Fixed: 1083028
2016-11-14 11:50:39 -08:00
Manjeet Singh
6d2641a934 qcacld-3.0: Validate hif ctx during shutdown
In function wlan_hdd_shutdown, hif_ctx is not validated
before use in hif_disable_isr. This can lead to a null pointer exception
in certain situations.
Validate hif_ctx before use in shutdown function.

Change-Id: Id50d87378ee176f6a48a790ec7027994aef0adf8
CRs-Fixed: 1083020
2016-11-14 11:50:38 -08:00
Jeff Johnson
80f725bcf3 qcacld-3.0: FWLOG: Fix incorrect use of "\" line continuation
Currently there are instances of the "\" line continuation character
being used inside quoted strings. This has the undesired side effect
of including the indentation of the continued line as part of the
quoted string. In addition per the Linux Coding Style user-visible
strings should not be split. So remove all incorrect instances of "\"
line continuation from FWLOG.

Change-Id: Ib4a64cfa6e05966a7e0151c249304d34088ff2e4
CRs-Fixed: 1087325
2016-11-14 11:50:36 -08:00
Jeff Johnson
3fd2182125 qcacld-3.0: WMA: Fix incorrect use of "\" line continuation
Currently there are instances of the "\" line continuation character
being used inside quoted strings. This has the undesired side effect
of including the indentation of the continued line as part of the
quoted string. In addition per the Linux Coding Style user-visible
strings should not be split. So remove all incorrect instances of "\"
line continuation from WMA.

Change-Id: Ibf93c4725c8765ae02b53193c3f5d8aa2a886bfc
CRs-Fixed: 1087302
2016-11-14 11:50:35 -08:00
Jeff Johnson
7160ff0131 qcacld-3.0: SAP: Fix incorrect use of "\" line continuation
Currently there are instances of the "\" line continuation character
being used inside quoted strings. This has the undesired side effect
of including the indentation of the continued line as part of the
quoted string. In addition per the Linux Coding Style user-visible
strings should not be split. So remove all incorrect instances of "\"
line continuation from SAP.

Change-Id: Ic53b6570df501e8eb7f9812279aca1c748b66fba
CRs-Fixed: 1087292
2016-11-14 11:50:33 -08:00
Jeff Johnson
4fa74ced54 qcacld-3.0: SME: Fix incorrect use of "\" line continuation
Currently there are instances of the "\" line continuation character
being used inside quoted strings. This has the undesired side effect
of including the indentation of the continued line as part of the
quoted string. In addition per the Linux Coding Style user-visible
strings should not be split. So remove all incorrect instances of "\"
line continuation from SME.

Change-Id: I7b7201aca15eda0800db33ffd15e51c3692a9a4d
CRs-Fixed: 1087288
2016-11-14 11:50:32 -08:00
Jeff Johnson
a8a4f543e2 qcacld-3.0: HDD: Fix incorrect use of "\" line continuation
Currently there are instances of the "\" line continuation character
being used inside quoted strings. This has the undesired side effect
of including the indentation of the continued line as part of the
quoted string. In addition per the Linux Coding Style user-visible
strings should not be split. So remove all incorrect instances of "\"
line continuation from HDD.

Change-Id: I9c63be20f01cb14c615b0a1c786ed06a3c2094aa
CRs-Fixed: 1087272
2016-11-14 11:50:30 -08:00
Kiran Kumar Lokere
151d9f95a3 qcacld-3.0: Do not update the session Nss with FW value
Session entry Nss value is updated by user configuration
and device capabilities. FW also provides the Nss value in
vdev start response based on current hardware mode. If the
current HW mode is DBS, FW gives the Nss value as 1 and if it
is updated in session then performance will be downgraded.

Do not update the session Nss with Nss given in vdev start
response by FW.

Change-Id: I4b9d5f98f09b437bb25568c82b15598aed493f27
CRs-Fixed: 1086940
2016-11-14 11:50:28 -08:00
qcabuildsw
40b41ae29c Release 5.2.0.1D
Release 5.2.0.1D

Change-Id: I9e7ea03592acfcbcb064601ec1406def0bc34d7f
CRs-Fixed: 688141
2016-11-14 11:39:34 -08:00
Sreelakshmi Konamki
db2ef54efc qcacld-3.0: Add hr:min:sec:usec timeformat to driver logs
qcacld-2.0 to qcacld-3.0 propagation

Driver logs timestamp format is different from logcat logs,
it's not user understandable and difficult to correlate with other logs.

This fix includes
1. Add hr:min:sec:usec timeformat to wlan logger and kernel logs
2. Remove SIR_CFG_PARAM_UPDATE_IND MTRACE log which is seen
   frequent in MTRACE dumps

Change-Id: I45e5d28fbeccd757648f05ce4e593d8ca4fe7804
CRS-Fixed: 1049125
2016-11-14 11:30:37 -08:00
Prakash Dhavali
d4f499a103 Release 5.2.0.1C
Release 5.2.0.1C

This matches with cld3-1.1 dev tip:
9e4e2a8 Release 5.1.0.35L

CRs-Fixed: 688141

Change-Id: Iea5c6fc53919d2a02699736d83d20fc14bd2ad6a
2016-11-12 00:24:13 -08:00
Manjunathappa Prakash
af88fc7dfc Revert "qcacld-3.0: Dump Tx/Rx packets during connection"
This reverts Change-Id Icd08475c3f81aa182c902b8e8defbdb904c5509d

Above change was exceeding skb buffer size and leading to crash.
For now removing the support for dump Tx/Rx packets during connection.

Change-Id: I2aec7253511d2ca7b08ca77d858a46f9c01d4e9d
CRs-Fixed: 1083912
2016-11-12 00:24:05 -08:00
Amar Singhal
5f9978661c qcacld-3.0: Consolidate and rename regulatory macros
Consolidate regulatory macros in cds file and rename for
homogeneity.

Change-Id: I572eda616b985a39655dca3944e26fb1e0b5efb4
CRs-Fixed: 1058399
2016-11-12 00:24:03 -08:00
Amar Singhal
4b7b78bafe qcacld-3.0: Cleanup logging for channel list
Some of WMA channel logging is conditional on DFS flag.
Make it unconditional.

CRs-Fixed: 1058399
Change-Id: Ied01e0ad3ac13e1cafecc9656d56d180d9f8f8de
2016-11-12 00:23:56 -08:00
Amar Singhal
ea10a872ae qcacld-3.0: Change INDOOR channel check to PASSIVE channels
INDOOR channels may or may not be enabled for SAP. If
INDOOR channels are not enabled for SAP, they are converted
to PASSIVE channels. So remove PASSIVE channels from SAP
channel list. Also remove any function not getting called
any more.

CRs-Fixed: 1058893
Change-Id: I45da966ee8c4c0005a5ca185cb121bdbc8989f48
2016-11-12 00:23:48 -08:00
Amar Singhal
7c1a62f23f qcacld-3.0: Cleanup SME APIs
Remove APIs sme_change_config_param and csr_change_config_param.

Change-Id: I097c67da517e86b4d44901a01b0fe65e1a53b0a9
CRs-Fixed: 1058399
2016-11-12 00:23:41 -08:00
Amar Singhal
38c5eeb5f2 qcacld-3.0: Clean-up regulatory code further
Remove wait when sending regulatory_hint to kernel to get
channel list. Also remove extra call to csr_update_channel_list from
csr_start. Csr_ready already has call to csr_update_channel_list.

Change-Id: I315ba2095fc7eb0faa1454cddcc9ee3f28b087bf
CRs-Fixed: 1058399
2016-11-12 00:23:33 -08:00
Amar Singhal
8c8fa7f7b7 qcacld-3.0: Remove extra call to csr_update_channel_list
While running set_fcc_channel, call to csr_update_channel_list
is conditional on pending scan. Remove the unconditional
call to csr_update_channel_list. This is clearly a bug.

CRs-Fixed: 1058416
Change-Id: I1b3ce52111ef8b61dde9d26e353c48e48b80a90b
2016-11-12 00:23:26 -08:00