Commit Graph

2821 Commits

Author SHA1 Message Date
Amar Singhal
0b51ecf196 qcacld-3.0: Regulatory domain changes
Add new regulatory domains APL15 and APL16. Also add
regulatory domains APl14_WORLD, APL15_WORLD and APL16_WORLD.
Also change reg-domain mappings for a host of countries. This
incorporates changes made 2016-10-31 to the regdomain.xls
regulatory database.

Change-Id: I12faa43bed83b7a046bba9b1921584ed5cef6f40
CRs-Fixed: 1090230
2016-12-14 14:07:11 -08:00
Amar Singhal
25b10f9cb5 qcacld-3.0: Make hdd_remove_passive_channels static
hdd_remove_passive_channels is not called outside the file.
Make it static.

Change-Id: I17ee9a398b5c88cbaa4677e43bc3a931faf3313d
CRs-Fixed: 1089927
2016-12-14 14:07:09 -08:00
Naveen Rawat
8ec9cfcc37 qcacld-3.0: Do not overwrite session->nss with add_bss_rsp->nss
NSS value in ADD_BSS response indicates NSS of the connection, while session
NSS value indicates self NSS capability used by FW to dynamically switch to
higher NSS opportunistically. Hence do not overwrite session NSS with ADD BSS
response NSS as that would cause DUT to get stuck in 1x1 and not upgrade to 2x2
opportunistically.

Change-Id: Ie4849a1ccd645ef477a90afa09ef8172048e0a86
CRs-Fixed: 1090245
2016-12-14 14:07:08 -08:00
Jeff Johnson
6d9c4c8997 qcacld-3.0: Remove obsolete csr_api_roam functions
While trying to enable the -Wmissing-prototypes compiler switch the
following obsolete APIs were uncovered in csr_api_roam.c:
	csr_roam_get_phy_mode_from_dot11_mode()
	csr_get_htcb_state_from_vhtcb_state()
	csr_is_command_waiting()

Since these are obsolete, remove them.

Change-Id: If9c5efb6043ccbe874d3f7f41c4ebc1c3dc9675f
CRs-Fixed: 1085761
2016-12-14 14:07:06 -08:00
qcabuildsw
dfcd74a948 Release 5.2.0.2R
Release 5.2.0.2R

Change-Id: I05cf179be4cfd9b851e671887b40368fd75ceda2
CRs-Fixed: 688141
2016-12-14 14:07:04 -08:00
Jeff Johnson
96f93a399d qcacld-3.0: Validate "set passpoint list" network count
This is a qcacld-2.0 to qcacld-3.0 propagation.

Currently when processing the "set passpoint list" vendor command the
"number of networks" parameter is not limit checked. This value is
subsequently used to calculate the size of a buffer. Add a limit check
to ensure that an appropriately sized buffer is always allocated.

Change-Id: Ibc2346b8a62898fc47e2d1efe457c57c08b0cada
CRs-Fixed: 1091940
2016-12-14 14:07:02 -08:00
Jeff Johnson
fae3c521f3 qcacld-3.0: Avoid overflow of EXTSCAN bucket list
This is a qcacld-2.0 to qcacld-3.0 propagation.

Currently when processing an EXTSCAN vendor command the "num buckets"
attribute is limit checked and if it exceeds a MAX value then a
warning message is issued. But beyond that the "num buckets" attribute
is not used. Instead when the buckets are actually parsed the number
of buckets is calculated dynamically based upon the number of
attributes present in the request. Unfortunately when the bucket
attributes are parsed there is no check to make sure the number of
buckets processed does not exceed the MAX value, and as a result a
buffer overflow can occur. Address this issue by aborting the bucket
parsing once the expected number of records have been parsed.

Change-Id: Ic260dd65dc99118afbb8042d102acb5b26d1e123
CRs-Fixed: 1087797
2016-12-14 14:06:57 -08:00
Jeff Johnson
14305e6859 qcacld-3.0: Avoid overflow of EPNO network list
This is a qcacld-2.0 to qcacld-3.0 propagation.

Currently when processing an EPNO vendor command the "num networks"
attribute is limit checked and if it exceeds a MAX value then it is
reset to that MAX value. This value is then used to calculate the size
of the buffer allocated to hold the internal representation of the
request. However later when the network attributes are parsed there is
no check to make sure the number of networks processed does not exceed
the (possibly modified) "num networks" used to allocate memory, and as
a result a buffer overflow can occur. Address this issue by aborting
the network parsing once "num networks" records have been parsed.

Change-Id: I6e5f321d23471d082bb000ad0422ea9baa76577a
CRs-Fixed: 1087807
2016-12-14 14:06:55 -08:00
Jeff Johnson
fa484bbf8a qcacld-3.0: Properly parse PNO vendor command
This is a qcacld-2.0 to qcacld-3.0 propagation.

Currently there is a single wlan_hdd_extscan_config_policy which
contains entries for both EXTSCAN and PNO attributes. However the
EXTSCAN and PNO attributes have separate and overlapping
assignments. Therefore one policy cannot be used by both types of
commands. In addition, when parsing nested PNO attributes the policy
is not used, and hence no checking is performed on the nested
data. This can result in a buffer overflow.

To address these issues introduce a new policy for PNO vendor
commands, and use that policy both when parsing the initial command
and when parsing the nested attributes. Furthermore add a zero length
SSID check to prevent underflow.

Change-Id: I92c8fc7ca1c44971502ea68b5486a2b3ae941cc5
CRs-Fixed: 1087209
2016-12-14 14:06:53 -08:00
Naveen Rawat
083407455f qcacld-3.0: Set qos_enabled to true if qos_caps is non-zero
In function wma_roam_scan_offload_mode, set qos_enabled to true if
qos_caps is a non zero value. Otherwise firmware will not be able
to get correct qos_caps value.

Change-Id: I3bdf43594f68cb0780f2947fff9db723644b5dac
CRs-Fixed: 1092258
2016-12-14 14:06:52 -08:00
Dustin Brown
877a5a9a64 qcacld-3.0: Map peer type before reporting link layer stats
Peer type in the link layer stats is being reported as wmi_peer_type
values. Map these values to wifi peer types before reporting link
layer stats to kernel.

Change-Id: I1b86cd030ff8e40296cd99b3a6ceb1168b96ba78
CRs-Fixed: 1091553
2016-12-14 14:06:50 -08:00
Kiran Kumar Lokere
0ac679c910 qcacld-3.0: Add support to configure auto PS timer
Add support to disable/configure the auto BMPS timer using INI
configuration.

The default value for the auto BMPS timer was set to 20 sec and
when the connection is established from cmd line, DUT enters into
power save once the timeout happens which can lead to issue in
DHCP completion. Framework disables the power save during DHCP and
enables it when DHCP is done, hence disable the auto BMPS timer by
default and provide the INI configuration to configure it.

Change-Id: I9732f915dd0fb552dd4943b70a6026a7a2bc80a0
CRs-Fixed: 1092305
2016-12-14 14:06:48 -08:00
Sandeep Puligilla
f852712f1f qcacld-3.0: Remove duplicate api to get roaming status
SessionId validation check is not present in the
sme_sta_in_middle_of_roaming.

Remove duplicate sme_sta_in_middle_of_roaming API to
get roaming status instead use sme_neighbor_middle_of_roaming
API.

Change-Id: Ia8d02f93630297239454bfac37e902eccb92d761
CRs-Fixed: 1091051
2016-12-14 14:06:46 -08:00
Archana Ramachandran
1a5b604f76 qcacld-3.0: Allow beacon/probe resp update in the middle of p2p connection
Once P2P GO has started, supplicant will update the beacon/probe
response template to include the p2p group information. Host driver
is currenlty igonoring this since the 4-way handshake is not completed.
Due to this the beacon/probe response from the P2P GO is not including
the p2p group information sub-element.

Change-Id: Id645f7fdccbb59e6bf6c77dd73bdbb1c6bf47dcb
CRs-Fixed: 1087513
2016-12-14 14:06:45 -08:00
Jeff Johnson
8c39a280cc qcacld-3.0: Remove obsolete ol_tx_pdev_is_target_empty()
Function ol_tx_pdev_is_target_empty() is not being referenced, so
remove it.

Change-Id: Id34f0fd8c791e95e9bd9fcb54f37b7780b5c60e9
CRs-Fixed: 1091496
2016-12-14 14:06:43 -08:00
Sarada Prasanna Garnayak
b3e06a6e4f qcacld-3.0: Fix the 64-bit division linking error for msmcobalt_32
The 64-bit division in 32-bit architecture call 64-bit-by-64-bit
division routines "__aeabi_uldivmod", which is not defined for
the 32-bit architecture. Typecast the variables to proper data
type before division operation to avoid the "undefined symbol:
 __aeabi_uldivmod" linking error during wlan driver load on
32-bit target.

CRs-Fixed: 1091920
Change-Id: I0cb7f78a098d90349870d4acb87230ba7fb492fc
2016-12-14 14:06:41 -08:00
Hardik Kantilal Patel
5b67bef418 qcacld-3.0: Fix Compilation error due to use of undeclar variable
Use correct variable name in argument while calling cnss_set_fw_debug_mode
cnss platform driver API to avoid compilation error for PCI based target.

Change-Id: I34d30cfd3113d379460124d423d0befa22a6bbd4
CRs-Fixed: 1091285
2016-12-14 14:06:39 -08:00
Abhishek Singh
34a4d86ce1 qcacld-3.0: Use offset to get the ie length from bss descriptor
qcacld-2.0 to qcacld-3.0 propagation

The length of bss descriptor is calculated using offset of IE
field but when lim tries to get the ielength it doesnt use the
offset which results in incorrect IE length.

To fix use offset to get the ie length from bss descriptor

Change-Id: I7abbde83aea1e0a1cfcd7bdb1a184158f75f2455
CRs-Fixed: 1082001
2016-12-14 14:06:38 -08:00
Naveen Rawat
f311a5a899 qcacld-3.0: Populate ASSOC IE length in roam offload scan cmd
In function csr_roam_offload_scan while copying ASSOC IEs, also populate
ASSOC IE length, else firmware wont get any ASSOC IE and REASSOC request
will not be consistent with ASSOC request.

Change-Id: I99af48b2f491d0bc7491a88b455e3636ea8e4eff
CRs-Fixed: 1090869
2016-12-14 14:06:36 -08:00
Yingying Tang
76caff9ef2 qcacld-3.0: Fix improper type casting and return status
Propagate from qcacld-2.0 to qcacld-3.0

In rrmProcessBeaconReportReq(), the return value is not the same
enum type with the routine definition. In dfs_process_radarevent(),
2 variables type are not same in a comparison. Add fix to correct
it.

Change-Id: Ibc5fbf70e2632a22971f33b769b31737a40123e7
CRs-Fixed: 979671
2016-12-14 14:06:35 -08:00
Yingying Tang
aca4a22487 qcacld-3.0: Update radar timestamp in NOL list when receive a radar event
Propagate from qcacld-2.0 to qcacld-3.0

If a channel is already in NOL list and DFS period has been expired, the
radar timestamp will not be updated when a radar event received. Update
radar timestamp in sap_mark_dfs_channels() to resolve this issue.

Change-Id: Ie9132f84bf5f35146e518b2a8a71998ddb2de901
CRs-Fixed: 1000945
2016-12-14 14:06:33 -08:00
Yingying Tang
586daa644b qcacld-3.0: Fix incorrect value assignment
Propagate from qcacld-2.0 to qcacld-3.0

Currently there are some places where value is assigned incorrectly.
Add fix to correct it.

CRs-Fixed: 1063255
Change-Id: I1d48b464ad67d112af6f3ffeea340a56633556f9
2016-12-14 14:06:32 -08:00
bings
612b9c4a55 qcacld-3.0: Enable green AP for AP stand alone and EGAP disabled
qcacld-2.0 to qcacld-3.0 propagation

When EGAP is enabled, configure EGAP parameters to firmware, and do
nothing for GAP.
When EGAP is disabled, need refine GAP in below situation.
  AP+STA concurrency mode
    When starts STA in case of AP existence, GREEN_AP_PS_STOP_EVENT
    will be triggered, at this time need to set green_ap->ps_enable
    as 0 and send firmware WMI_PDEV_GREEN_AP_PS_ENABLE_CMDID with
    value 0.
    When stops STA in case of AP existence, abandon using of
    GREEN_AP_PS_IDLE_STATE, because once in GREEN_AP_PS_IDLE_STATE,
    more than one GREEN_AP_PS_START_EVENT are needed to achieve
    the GREEN_AP_PS_ON_STATE. Use GREEN_AP_PS_OFF_STATE instead.
  AP mode
    Remove hdd_wlan_green_ap_start_bss/hdd_wlan_green_ap_stop_bss
    in eSAP_START_BSS_EVENT/eSAP_STOP_BSS_EVENT, becasue SME
    session id is invalid in the context of eSAP_STOP_BSS_EVENT.
    Add hdd_wlan_green_ap_start_bss/hdd_wlan_green_ap_stop_bss in
    __wlan_hdd_cfg80211_start_ap/__wlan_hdd_cfg80211_stop_ap instead.
  AP+AP mode
    In hdd_wlan_green_ap_stop_bss, only trigger
    GREEN_AP_PS_STOP_EVENT when the last AP stops.

Change-Id: Ifbf09b870b919d2bd155887bf17a494be07f97b4
CRs-Fixed: 1069300
2016-12-14 14:06:30 -08:00
qcabuildsw
0580e3ae56 Release 5.2.0.2Q
Release 5.2.0.2Q

Change-Id: I4843cc253210198899f5ff07f15f5fabc4148edc
CRs-Fixed: 688141
2016-12-14 14:06:29 -08:00
Dustin Brown
ecfae9a595 qcacld-3.0: Fix use-after-freed when sending WMI command to FW
Using a buffer after passing it to wmi_unified_cmd_send() induces a
race condition that may result in a use-after-freed situation. Fix
several potential use-after-freed situations when calling
wmi_unified_cmd_send() by ensuring all access to a buffer is done
before the call to wmi_unified_cmd_send().

Change-Id: I287487d865f3ef5386e8f8649a8bba42df5b56ac
CRs-Fixed: 1090473
2016-12-14 14:06:27 -08:00
Mahesh A Saptasagar
69129a9307 qcacld-3.0: Remove unused gLimSendDisassocFrameThresholdTimer timer
qcacld-2.0 to qcacld-3.0 propagation

Remove the unwanted timer and its related code.

Change-Id: I469bf11a506a2901eae2865a69b75a058e276e75
CRs-Fixed: 658580
2016-12-14 14:06:26 -08:00
Selvaraj, Sridhar
2eed3932df qcacld-3.0: Fix incorrect pointer assignment in CSR Scan timer init
While initializing the CSR Scan timer, user data assignment is done with
incorrect pointer context of tSmeCmd.

Initialize userdata with right pointer context of tSmeCmd.

Change-Id: I2bdfc3c91e6cd8cc9d517640755aab26a2d818c9
CRs-Fixed: 1089908
2016-12-14 14:06:24 -08:00
Jeff Johnson
1cc443eab9 qcacld-3.0: Remove obsolete lim_update_default_scan_ies()
Function lim_update_default_scan_ies() is no longer being used. Remove
this obsolete function.

Change-Id: Ic2e544232cc450fc9d8f706573b4e29144348170
CRs-Fixed: 1085760
2016-12-14 14:06:22 -08:00
Jeff Johnson
a38de6783a qcacld-3.0: Make LIM TDLS "populate" functions static
lim_process_tdls.c defines the following "populate" functions:
	populate_dot11f_link_iden()
	populate_dot11f_tdls_ext_capability()
	populate_dot11f_tdls_offchannel_params()

Currently these are defined to be global functions. Since these
functions are only used internally within lim_process_tdls.c and since
they don't follow the naming convention for LIM public functions, make
them static. In addition relocate them in the file so that the
existing forward reference prototypes are not needed.

Change-Id: I24452973cae7fed83efc26341eb66765fa19f7a5
CRs-Fixed: 1085760
2016-12-14 14:06:20 -08:00
Jeff Johnson
7208fe2ab6 qcacld-3.0: Properly export lim_log_vht_cap()
While trying to enable the -Wmissing-prototypes switch it was
discovered that function lim_log_vht_cap() currently does not expose
its prototype in a header file.  Add an appropriate prototype.

Change-Id: I493480bddd6302257123eea4bf1e7d1af5487c0d
CRs-Fixed: 1085760
2016-12-14 14:06:19 -08:00
Jeff Johnson
1396a3cbf7 qcacld-3.0: Properly import lim_get_htcb_state()
Currently in lim_process_tdls.c there is a local prototype for
function lim_get_htcb_state(). Having a local prototype prevents the
compiler from verifying that the prototype matches the actual
implementation. Update the file to remove the local prototype and to
instead import the header file that defines the lim_get_htcb_state()
prototype. In addition remove the local prototype for
lim_populate_vht_mcs_set() since the appropriate header file is
already being included.

Change-Id: Ie9931f972a3126fdc08c54f497aa46ef91d746cd
CRs-Fixed: 1085760
2016-12-12 17:06:14 -08:00
Deepak Dhamdhere
4835a5b1f0 qcacld-3.0: Enable crash dump for peer delete timeout
Use QDF_BUG to create a crash dump when peer attach operation detects
that the peer already exists even after waiting for 500 ms. It will
detect failure to complete peer delete operation in firmware and
missing peer unmap events.
Crash dump is enabled only when compiled with PANIC_ON_BUG, otherwise
it will print a warning.

CRs-Fixed: 1075798
Change-Id: I0131f4f706bc76feb86894975ff9f3c30f873b9b
2016-12-12 17:06:12 -08:00
Sandeep Puligilla
e806599392 qcacld-3.0: Scan request sent on wrong vdev id
Scan request sent on the invalid vdev id which
triggered assert at firmware.

-Reset sessionid to invalid number in sme open
 session failure scenarios.
-WMA differs vdev delete, if vdev stop
command is pending. Current code process differed
vdev delete only for P2P GO.
-Extend it for other modes so that vdev delete gets
processed later point of time.

Change-Id: I2068e358928fa7157625cf35b3de4ee552299fdb
CRs-Fixed: 1089287
2016-12-12 17:06:10 -08:00
Naveen Rawat
0cc24ab40b qcacld-3.0: Do not overwrite cfg SU beam formee in lim_extract_ap_caps
WNI_CFG_VHT_SU_BEAMFORMEE_CAP is a global location for self capabilities
and is being overwritten with AP's capability, which is incorrect.
Because of this after roaming from an inferior capability AP to higher
capability AP, we are advertizing previous session's capability which is
wrong. Fix this by removing overwriting of WNI_CFG from function
lim_extract_ap_capability.

Change-Id: I5676598a008f3a118206e40c244faf38648e0b01
CRs-Fixed: 1088579
2016-12-12 17:06:08 -08:00
Manjeet Singh
db4851832c qcacld-3.0: Validate extscan channel list size
In function __wlan_hdd_cfg80211_extscan_get_valid_channel,
Valid channel list length is limited to 100. But if the channel list size
in NL request buffer is larger, it can cause a buffer overflow situation
while filling the channel list in the request buffer.

Change-Id: Ie6226934af3e40817ef4b44007915c36e501fd56
CRs-Fixed: 1083022
2016-12-12 17:06:06 -08:00
Manjeet Singh
fd51d8fbfe qcacld-3.0: Don't use uninitialized variables in debug logs
qcacld-2.0 to qcacld-3.0 propagation

While processing IPA event, uninitialized objects are used in debug prints.
Debug prints are updated to print valid values, by using proper variables.

Change-Id: Iedfb22a980554c326a3231b560212195f35ff745
CRs-Fixed: 1061660
2016-12-12 17:06:04 -08:00
Manjeet Singh
0e617d64df qcacld-3.0: Pass valid physical address while freeing firmware memory dump
qcacld-2.0 to qcacld-3.0 propagation

While retrieving  FW memory dump, if memory is already allocated
then paddr, which holds physical address, is not updated.
This leads to pass invalid physical address while freeing FW
memory dump, if host fails to get FW memory dump.

Hence, assign paddr with physical address, if memory
is already allocated.

Change-Id: I3b3071ec3d5bc04177bfbe8447dadac47e81cb40
CRs-Fixed: 1061662
2016-12-12 17:06:02 -08:00
Kabilan Kannan
15cc6acd1c qcacld-3.0: Fix the mutex assert in concurrency module
The mutex qdf_conc_list_lock is accessed, before it is
initialized and it triggers the system assert.
Initialize the mutex in cds open function to avoid
invalid mutex access.

Change-Id: Iec13a101ba2cc4a332d486b08f0c0562f648edfa
CRs-Fixed: 1089357
2016-12-12 17:06:00 -08:00
Arif Hussain
776ee7a0f2 qcacld-3.0: Do not process duplicate rrm link measurement request
Add a logic to avoid processing duplicate rrm link measurement request.

Cache last processed frame with timestamp to validate new frame.
If retry bit set, compare sequence number and source address of
last processed frame. If both are matches and is within retry time
than ignore that frame, else process. Update last processed frame cache
every time new frame processed successfully

Change-Id: Ic2bff028c7bcd79d6b3dca186edb35464b1fd059
CRs-Fixed: 1088735
2016-12-12 17:05:58 -08:00
Naveen Rawat
c36f7ebe89 qcacld-3.0: Remove out of bound access for neighborRoamInfo from SME APIs
neighborRoamInfo is being accessed with index: sme session id, which is not
validated at multiple places in SME APIs. SME APIs are being called from HDD
where sme session id is initialized to 255 as invalid value. Avoid out of bound
access for neighborRoamInfo in SME APIs by checking against max session ID.

Change-Id: I312631a15373d75bcaae7278ff4f57778bf3fc9b
CRs-Fixed: 1088734
2016-12-12 17:05:56 -08:00
Naveen Rawat
23a51f4ab5 qcacld-3.0: Do not sent TPC IE in addition scan IE to firmware
Scan flags WMI_SCAN_ADD_TPC_IE_IN_PROBE_REQ included in scan request will
trigger firmware probe request to include TPC IE, hence do not include TPC
IE in additional scan IEs sent from host.

Change-Id: I490d978d8a90b13f779c1e3a77a7bd16b9bd8b99
CRs-Fixed: 1088639
2016-12-12 17:05:54 -08:00
Yun Park
4540e86f58 qcacld-3.0: Validate session-id before sending WDI enable_disable
When sending WDI enable_disable message, there is ia possibility of
sending invalid session-id to firmware, which may lead to device
crash. Validate session-id before sending WDI enable_disable message.

Change-Id: Iee1a101d2187b66b0427b2137c80b598f82ad75b
CRs-Fixed: 1086832
2016-12-12 17:05:52 -08:00
Dustin Brown
c4a5ba2124 qcacld-3.0: Fix multiple chain RSSI stats parsing
When parsing multiple chain RSSI stats data from firmware, there is a
struct array TLV header that is not being accounted for. Properly
account for the struct array TLV header.

Change-Id: Ib41643ae9e859de6fd0d20a84c015e2b8f7205dc
CRs-Fixed: 1088660
2016-12-12 17:05:50 -08:00
qcabuildsw
d5650c5941 Release 5.2.0.2P
Release 5.2.0.2P

Change-Id: Ie0798885ac7bafb9ac7c8671ad67d9790f0c0b6d
CRs-Fixed: 688141
2016-12-12 13:34:39 -08:00
qcabuildsw
f6cacafeba Release 5.2.0.2O
Release 5.2.0.2O

Change-Id: Ie5da1f50eeac3dc61166f580a3a56fe9e28567d7
CRs-Fixed: 688141
2016-12-11 04:17:02 -08:00
Nishank Aggarwal
a13b61d17c qcacld-3.0: Validate pointers in wma layer
Currently in different functions we are assigning memory to
pointers and using it without checking that pointers has valid
address or NULL.

Add NULL checks before pointer dereferences.

Change-Id: I43a04fc59e56261d37e657b815b214a59cdcf838
CRs-Fixed: 1095650
2016-12-11 04:17:01 -08:00
qcabuildsw
ddef718602 Release 5.2.0.2N
Release 5.2.0.2N

Change-Id: Id2499a1a913cfecd81d6c43fecbaae5a3c63f61d
CRs-Fixed: 688141
2016-12-10 18:07:39 -08:00
qcabuildsw
78ee97962a Release 5.2.0.2M
Release 5.2.0.2M

Change-Id: I8e7860d9d3b3766c6934a9ef41259eda5cd35d7a
CRs-Fixed: 688141
2016-12-10 09:43:02 -08:00
Nitesh Shah
2b946fa578 qcacld-3.0: Enable/Disable TDLS from different sources
qcacld-2.0 to qcacld-3.0 propagation

Currently, TDLS can be enabled/disabled by different sources
without knowledge of each other which would lead to issue
if one of the resource enable and other would disable TDLS.

Fix is to ensure that TDLS will not be enabled/disabled
until all the resources agree upon it.

Change-Id: Id8ab5ddda88fa554f2837ded3540b3c7b3afb54d
CRs-Fixed: 948121
2016-12-10 09:43:01 -08:00
qcabuildsw
b43729fac2 Release 5.2.0.2L
Release 5.2.0.2L

Change-Id: I7fafd3b52f39ab120e9b30a14e63a288d23e6e27
CRs-Fixed: 688141
2016-12-09 17:52:01 -08:00