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
NMEA Strings should introduce the sub milli sec part in the
relevant NMEA Strings for NHZ Sessions
Change-Id: I9bac4caa26e87741e5e82e16a8047af20ac8012b
CRs-Fixed: 951144
NMEA Strings should introduce the sub milli sec part in the
relevant NMEA Strings for NHZ Sessions
Change-Id: I9bac4caa26e87741e5e82e16a8047af20ac8012b
CRs-Fixed: 951144
Currently Location HAL forces TBF of 1 second or larger
even though ALM permits lower values. GPS HAL shall have
smaller limits as Modem code actually controls minimum
TBF value
Change-Id: I4a2bbd51da34e441f148275ec3c2c4fa9ece7599
CRs-Fixed: 951152
To prevent reading beyond the length of
the buffer that contains XTRA data, a
check has been introduced assuming an
approximate limit for the size of the
data
Change-Id: I7e05beadec76c3308448b9198fd23c8e8b97394d
CRs-fixed: 420623
GpsLocation memory will now be cleared inside the
Loc Api handler itself, so no need to do it a second
time before calling into the Loc Api handler.
Change-Id: Iec37624621d6eb4806eb8e13c807bb4e40584e39
CRs-fixed: 726800
Replace all separator characters ('/','+','|','%') in the raw string
by their corresponding encodings (%2F","%2B","%7C", "%25")
Change-Id: I3c895adc2ce1cef36032a25e3c6fd63e70350607
CRs-fixed: 881265
The problem was caused by populating the carrier upon phone bootup
when the the property maybe not initialized yet. This module is
updated to remove the populating code of carrier in phone bootup.
Change-Id: I9c3f970aa0f0ca0805fdc2e04aa809329b6a2676
CRs-fixed: 935146
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
While it is important to continue to log events
at debug level logs, logging all data may not be
as important. Moving such logs to verbose level
CRs-Fixed: 936031
Change-Id: I634d173b645180d55d620a24cce2c31aee966b8f
the link dependency is necessary for ds_api to work, but
it would bring in libqcci_legacy indirectly, which would
cause crash at runtime when calling into the qmi client
implementation fromlibqcci_legacy, while the right impl
is from qmi-frameworks.
Change-Id: If986fe059199dd752526dbe837fcf03b4b4d8002
In order to handle ipv6 requests, a new struct
is being used instead of an array to store ipv6
info
CRs-Fixed: 817295
Change-Id: I030d4206c01724f08b311697f0bbefb1f9fd10e6
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
To support next version of GTP AP protocol,
this change adds the support for the below
3 fields in GPS pipe and FLP pipe :
1). heading_unc
2). horizontal_reliability
3). vertical_reliability
Change-Id: If51c38f9159f372c2b2c12fbb55d123958cfee95
CRs-Fixed: 898876
For crowd sourcing, FLP HAL needs to share
with ULP the flp fixes in real time. This
change is making FLP HAL to send flp fixes
to ULP.
Change-Id: I1a852ec69db8eb50de5c18b03205d1b488cfd4b0
CRs-fixed: 874928 878064
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
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
The change included the following fixes:
increased buffer size to hold the initial UA string;
use file for saving the initial UA string
Change-Id: I52ef94e57695f1411a34e338e89325de382b09b5
CRs-fixed: 905170
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
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
Post SSR, ensure necessary config injection is done before restarting
an existing tracking session
Change-Id: I1bec8ff1cab3a9762e73a13958fe91c62f40fb92
CRs-fixed: 888187
byte long each, but the loc_set_config_entry() util call
writes an int at a time, causing buffer overflow. #2, in
loc_xtra-init(), a data structure wrap happened without
iniializing the unused data fields.
Change-Id: I96b40a330316927d276840a997082fe759263699
CRs-Fixed: 866937