Commit graph

132 commits

Author SHA1 Message Date
Linux Build Service Account
717e33675c Merge "Updating ro.baseband target property value" 2017-03-20 19:04:31 -07:00
Linux Build Service Account
ffc98a5ad5 Merge "Update the device node to check for MDM systems" 2017-03-20 19:04:30 -07:00
Linux Build Service Account
36840b0a66 Merge "getprogname is not defined in glibc" 2017-03-20 13:20:52 -07:00
Saurabh Srivastava
b37098920f Moving conf files to /vendor/etc
Moving all vendor specific conf files to /vendor/etc instead of
current /etc folder

CRs-Fixed: 1099981
Change-Id: I4495d8527941959be0847c4722ea8b68ee6c87ee
2017-03-17 16:12:54 -07:00
Saurabh Srivastava
54aa95888b Updating ro.baseband target property value
Updating target derivation logic based on ro.baseband property.
There are new values which must be considered in the target
derivation logic.

Change-Id: I2e81ab00c107247dcb8f1a919136bb61b482e73c
CRs-Fixed: 1105916
2017-03-15 19:20:54 -07:00
Harikrishnan Hariharan
da20b15129 Update the device node to check for MDM systems
To identify the target as MDM, we need to check for "/target"
node mdm targets instead of "/dev/mdm".

Change-Id: Ibb53acfd06a0a586f2cdca784f475d0a45718581
CRs-Fixed: 1101185
2017-03-15 19:10:32 -07:00
Kevin Tang
3fb8076a5e fixing a race condition on MsgTask::destroy()
when MsgTask::destroy() happens, msg_q_unblock() triggers
the running thread to come out from blocking state. A race
condition may happen such that that thread may complete
first, causing msgTask obj to be already deleted. A next
allocation may change the value at MsgTask::mThread. Then
when control comes back to destroy(), it may try to check
mThread and call delete on it to crash the program.

mThread is a heap obj, so it is possible to delete it after
the hosting msgTask obj is deleted.  We just have to keep
its value on the stack before calling msg_q_unblock().

Change-Id: If15884815eea05fbfa523ec92aa300ed21ef897c
CR-Fixed: 1091530
2017-03-15 18:33:17 -07:00
Kevin Tang
4d84d3669c getprogname is not defined in glibc
need to remove get_process_name as it is removed
from libcutil. Call getprogname is available in
libc but not LE glibc. Implementing a simple call
wrapper.

Change-Id: I68244b9f7fcbc290222b074f80da03330315ea29
CRs-Fixed: 1080605
2017-03-15 18:10:42 -07:00
Dante Russo
52b413eb44 hidl gnss hal 1.0 implementation
Overwrites the default hidl gnss hal implementation
to interface directly to LocationAPI

CRs-fixed: 1112712

Change-Id: I3385911956c0c6c457202a8584b108046c587b36
2017-02-28 16:47:59 -08:00
Dante Russo
c85c8ff673 LocationAPI implementation
Implementation of LocationAPI into gps hal
to be a common API that is called into by platform
specific APIs.

Change-Id: Ie5a7bd217d4ae2175ad49e6aca2fb6ecd4702f3b
CRs-fixed: 1112712
2017-02-28 16:47:50 -08:00
Baili Feng
4bb940c067 Decouple libhardware usage on LE for gnss models
Remove all usage of gps.h and fused_location.h
from all gnss models except gps/fpl hal librarys

Change-Id: I90ba233c6bbe5c31a4cacceeb981833719c871f2
CRs-Fixed: 1067953
2017-02-14 16:51:32 -08:00
Naresh Munagala
dad844f3e0 Platform specific changes for QDR
Added platform specific abstraction apis
for timer modules

Change-Id: I71d5cb847fc6a66227137b2b424f7e631e09cae8
2016-10-12 22:37:13 -07:00
Linux Build Service Account
ee55d0b1ef Merge "Upgrade LE.UM.0.0 to use location.lnx.2.0-rel" 2016-08-15 21:56:39 -07:00
Bhavna Sharma
cd13c6577d Upgrade LE.UM.0.0 to use location.lnx.2.0-rel
Fix LE compilation issues on location.lnx.2.0-rel
branch.
CRs-Fixed: 1048907

Change-Id: I5a847c82170fba3847c0132d196cd27a3757b662
2016-08-01 16:11:33 -07:00
Saurabh Srivastava
c01fcd784c Adding new target APQ-NoWGR handling
Adding handling for new ro.baseband value provided by target team
If the target does not have WGR (GPS Receiver), we return NULL
GPS and FLP interfaces.

CRs-Fixed: 1033674
Change-Id: I1561518c4f4b0c52ab934feb2fa43e9078c91d86
2016-07-29 11:45:28 +05:30
Bhavna Sharma
8e217e229d Merge remote-tracking branch 'quic/location.lnx.1.0-dev.1.0'
into location.lnx.2.0-dev

CRs-Fixed: 1038354

Change-Id: I87b3a7f33a0bb48783554bf5ecb0140695e40c9d
2016-07-08 12:04:07 -07:00
Madhanraj Chelladurai
4c2156ec8a Merge branch 'quic/LA.AF.1.2.1' into location.lnx.1.0-dev
merge automotive specific changes from LA.AF.1.2.1 into
location development branch

Change-Id: I90a5e60c46bb5b1aafaf4cd9aaf2dcb79449f288
CRs-Fixed: 1017254
2016-06-02 15:33:03 +05:30
Saurabh Srivastava
059605367a Enabling CLANG compilation
Removing LOCAL_CLANG := false from makefiles.
Couple of instances got added back as part of
LE merge.

Change-Id: I7d18d573c1d12597914124e35cb024df3343f0db
CRs-Fixed: 1021759
2016-05-30 23:09:50 +05:30
Vamana Murthi
35877af173 Merge remote-tracking branch 'origin/location.lnx.1.0-rel.1.0' into HEAD
git merge upto CRT tag location.lnx.1.0-00036 to private_n_location.lnx

Change-Id: I922daaa9a8c2745095ec9d425192d3649657e76c
CRs-Fixed: 1015000
2016-05-12 18:11:31 -07:00
Madhanraj Chelladurai
edc2a648b3 gps: include support to check hardware type property
automotive platform introduced a new android property called
ro.hardware.type to detect automotive platform for the
purpose of having automotive specific features.

Added changes in loc_target to detect auto platform.

Change-Id: Ib886b96b2e95dafc151bead041e5fc3d6740c468
CRs-Fixed: 992647
2016-04-27 23:43:17 -07:00
Kevin Tang
f41f1960c4 fixing a LE compilation issue
missing include of a head file. A late check in for Android introduced
this. This blocks LE mainline switching to component model.

Change-Id: Idc93f1ec9b1ccb548d3119e72ce0e3e797f2039f
CRs-Fixed: 1004488
2016-04-17 12:42:19 -07:00
Ruifeng Xu
d4c4fbf56b XTRA Client 2.0
This project implemented XTRA "Enhancements" grouped as XTRA Client 2.0.
1. Added NTP_SERVER config into gps.conf
2. Removed XTRA Client 2.0 Phase 1 code changes
3. Disabled public api to delete aiding data in user build

CRs-fixed: 917950
Change-Id: I18b31da74c9fe0c24d0ced3770f099197ad32d9a
2016-04-15 16:10:34 -07:00
Linux Build Service Account
88e1de76b0 Merge "gps: include support to check hardware type property" 2016-04-12 16:22:39 -07:00
Saurabh Srivastava
5573c31749 Adding fix for KW warning
Fix for buffer overflow possibility for the thread name passed in to
pthread_setname_np() method.

Change-Id: Id323dd058eddcf50d6fd9ec8908e9997b30c561b
CRs-Fixed: 999457
2016-04-08 03:25:02 -07:00
Naresh Munagala
8f54f693ee Fix LA compilation issues after merge
Fixed compilation issues for LA after merging
oe_master with location.lnx.1.0-dev.1.0.

Change-Id: I7940429c369249ab9aa636fe9850c1281cf2dc01
CRs-Fixed: 995520
2016-04-06 09:48:43 -07:00
Kevin Tang
1fbe5b2ff4 Merge commit 'refs/changes/97/1557997/2' into HEAD
Change-Id: I89b9c1e262dcd249589b507449d0921d1aabf3e5
CRs-Fixed: 995520
2016-04-06 09:47:14 -07:00
Madhanraj Chelladurai
4b345c82ac gps: include support to check hardware type property
automotive platform introduced a new android property called
ro.hardware.type to detect automotive platform for the
purpose of having automotive specific features.

Added changes in loc_target to detect auto platform.

Change-Id: Ib886b96b2e95dafc151bead041e5fc3d6740c468
CRs-Fixed: 992647
2016-04-05 10:39:55 +05:30
Madhanraj Chelladurai
c4c29c3ca7 gps: consider nsec while ranking the timer objects
We need to consider nsec as well while ranking timer objects

Change-Id: Ieaad5dfa80b26b90e998618b3cbe1e590fc00839
CRs-Fixed: 991345
2016-03-31 10:25:22 -07:00
Madhanraj Chelladurai
14f0dc1b52 gps: consider nsec while ranking the timer objects
We need to consider nsec as well while ranking timer objects

Change-Id: Ieaad5dfa80b26b90e998618b3cbe1e590fc00839
CRs-Fixed: 991345
2016-03-18 10:56:42 +05:30
Saurabh Srivastava
217e754489 Enabling CLANG compilation and fixing all resulting errors
Removing statement to set LOCAL_CLANG flag explicity to
true. It will be true by default.

Change-Id: I2eaba5a89e64088e3383b962dceaaa7e975e997a
CRs-Fixed: 989476
2016-03-17 12:33:17 +05:30
Deven Patel
285d395703 Revert "Revert "Fix compilation issues for m_master merge into oe_master"."
This reverts commit fa7a874eb0

Change-Id: Id2415d80fa3cbdc124e0a3bdd2722db7f233ad53
2016-03-15 12:20:25 -07:00
Deven Patel
a376de4826 Revert "Revert "Merging m_master changes to oe_master"."
This reverts commit a29688ff34

Change-Id: Iab525a58ddb6a00e119afe19f4f51b07b7f428f2
2016-03-15 12:20:01 -07:00
Deven Patel
a29688ff34 Revert "Merging m_master changes to oe_master".
This reverts commit 1aeb6bad84

Change-Id: Iec0a96e7cdfe55ef5836c92a2ae1cce407f6cd5e
2016-03-07 10:55:20 -08:00
Deven Patel
fa7a874eb0 Revert "Fix compilation issues for m_master merge into oe_master".
This reverts commit ecb67363ee

Change-Id: I7b540247b246ea4caf710247d2c58b55515dae7c
2016-03-07 10:52:46 -08:00
Kevin Tang
a05f77fa0b make LocSharedLock::mRef ops atomic
The current share() and drop() calls are not thread
safe, which can cause memory heap correuption. This
changes the read / write ops to be atomic.

Change-Id: Ic241d4573bdf2e58c4e264e97bd41b56f882c791
CRs-Fixed: 975372
2016-03-02 21:45:22 -08:00
Kevin Tang
02cad4d981 make LocSharedLock::mRef ops atomic
The current share() and drop() calls are not thread
safe, which can cause memory heap correuption. This
changes the read / write ops to be atomic.

Change-Id: Ic241d4573bdf2e58c4e264e97bd41b56f882c791
CRs-Fixed: 975372
2016-02-23 01:47:33 -08:00
Kevin Tang
411951c341 make LocSharedLock::mRef ops atomic
The current share() and drop() calls are not thread
safe, which can cause memory heap correuption. This
changes the read / write ops to be atomic.

Change-Id: Ic241d4573bdf2e58c4e264e97bd41b56f882c791
CRs-Fixed: 975372
2016-02-19 12:38:43 -08:00
Ashish Dhiman
fff5a01dfe fix for compiler warnings
Change-Id: I838bfa2c66e77381be483c65b2b3bd68008a25b1
CRs-Fixed: 974489
2016-02-10 16:15:03 +05:30
Kevin Tang
ecb67363ee Fix compilation issues for m_master merge into oe_master
Fixed compilation issues for M upgrade

Change-Id: I602aa7c8a2db9682a1fe94b7ca892027281deec7
2016-02-04 10:06:28 -08:00
Kevin Tang
1aeb6bad84 Merging m_master changes to oe_master
Merging LA m_master changes to oe_master

merge head - 89f41a9b16

Change-Id: I9010487f1d6f3d2e30a568b441bc5f9b719a0fb1
2016-02-04 10:03:40 -08:00
Linux Build Service Account
f7ae18656c Merge "Location: reduce memory footprint" 2015-11-12 09:33:30 -08:00
Kevin Tang
67d576b55a another potential race condition
LocTimer on timeout would currently delete timer delegate.
This meddles into the management of LocTimer::stop() call,
and the order of obj delete needs to be synchronized in a
few different places as a result.

This change lets the delete of the timer delegate obj fold
into the stop() handling, which would be easier to synch.

Change-Id: Ic3e0b3d183dceb9e6e2db4c47ec9d6e296b0c3f6
CRs-Fixed: 916590
2015-11-12 13:08:00 +05:30
Kevin Tang
2f74f91ac1 Crash fix with MsgTask API change
Removed tCreate and tAssociate from MsgTask. LocThread
now can optionally take a tCreate method. Associator is
replaced with *firstMsg* option to MsgTask, which is a
more generic option, that can associate or do other set
up job at the create of a MsgTask.

The current MsgTask doesn't use tCreate, which exposes
a slight time window for Location HAL when its MsgTask
is NOT associated to DVM heap but a message delivery to
DVM could be attempted during this time.

Change-Id: Iafd5b91b693baacb9b7064463f8c44f74026f54c
CRs-Fixed: 902350
2015-11-12 13:06:32 +05:30
Kevin Tang
f533181bd6 timer bug fix
when a ticking timer is stopped, currently kernel doesn't
get updated with the next immediate timer's interval. As a
result, kernel timer will expire sooner (with the stopped
timer's interval), and the next timer's client is notified
for this expiration.

Change-Id: I0d67d1418cb9bfe7f70ae71252901d4c6bb699b3
CRs-Fixed: 909776
2015-11-12 13:02:18 +05:30
Kevin Tang
91488d6fc5 fixing a crash vulnerability due to race condition
LocTimer::stop() can be called from different threads, which must
be protected. Currently there is a race condition between back to
back stop()'s or expire() + stop() events.

Change-Id: Iae80b78f049a32da87639f813c6f5126b4ccd072
CRs-Fixed: 904627
2015-11-12 13:00:03 +05:30
Bhavna Sharma
62a30d2faa Fix for timerfd_create on older kernel revisions
BOOTTIME_ALARM and BOOTTIME were added to timerfd_create
in kernel version 3.11 and 3.15 respectively.
But for targets still on older kernel version we fallback on MONOTONIC.

CRs-Fixed: 897805

Change-Id: I47d9780d69ce5ee8c183c84baa93ea3c1a00db57
2015-11-12 12:59:22 +05:30
Kevin Tang
153ba77107 crash in LocTimer wrapper
LocTimerWrapper implements loc_timer_start/stop calls for backward
compatibility. There is a race condtiion where the wrapper object
could be deleted by the client thread and expireation handling at
rough the same time, which would have the memory freed twice. Now
they are mutext protected.

Change-Id: I25d7466db88a840a8a09e7a476cface48c91d22e
2015-11-12 12:57:56 +05:30
Kevin Tang
c9db5166b5 LocTimer repeated expiration
Timer must be removed from epoll as soon as it expires,
otherwise it continuously expire. Current timer removes
from a different thread, this triggers repeated expire
events until the maintain thread gets to remove it.

Change-Id: Ie523bce5069416521d49bc0178d2cad2dd1f04da
CRs-Fixed: 870568
2015-11-12 12:57:22 +05:30
Kevin Tang
58c3d32868 Adding a number of utilities
LocHeap, LocThread, LocTimer, and moved MsgTask to
utils. Also added are LocRankable and LocRunnable
abstract classes.

Change-Id: I76975455d24f2c84a95dcc1b04f79fea562ea5ba
CRs-Fixed: 855222
2015-11-12 12:56:25 +05:30
Valeri Atamaniouk
78bb13288e Location: reduce memory footprint
Reduce memory footprint by moving data sets into const
data segments. Update function parameters to accept const
parameters when appropriate.

CRs-fixed: 928770
Change-Id: I42955cf18de2b0541cfaed89359cdcf9ae6fea8a
2015-11-09 11:33:15 +02:00