Commit Graph

8 Commits

Author SHA1 Message Date
Nick Vaccaro
e914d696a9 Report multihal is SENSORS_DEVICE_API_VERSION_1_3 compliant
Ignore calls to any HALs that are not 1_0 or 1_3 compliant.
Fix an unused parameter compiler warning.

Bug: 17645248
Change-Id: Ia50f7512dfe35f37973440bba84e1b1b177a7bd3
2014-10-10 16:02:26 -07:00
Nick Vaccaro
c384b18637 Don't pass up bad sensor event packets to Sensor Services
If an event packet is read containing an unknown sensor handle,
don't pass it on to Sensor Services. Drop it on the floor instead
as it's causing Sensor Services to crash.

Moved read of queue size in sensors_poll_context_t::poll() to post
queue mutex grab for safety.

Bug: 15285345
Change-Id: I2ebc0f8591a1ae60f09bf9599b8321c5a3dfae69
2014-06-11 10:42:07 -07:00
Nick Vaccaro
ad70dc482f add /system/vendor/lib as valid search path for sensor HALs
MultiHal will now accept sensor HALs listed in the hals.conf file that
reside in either /system/lib/hw or /system/vendor/lib.

Bug: 14994424
Change-Id: I13f17352b97c36b97cfbcee8c9b6a0d2e1ed6dc3
2014-05-15 14:31:51 -07:00
Nick Vaccaro
d34ed32e06 Change MultiHal API version to 1.1
Bug: 14451762

Change-Id: Id16fa71ae7382689ce141a92eb974b208e20327b
2014-05-05 17:56:32 -07:00
Aaron Whyte
f22e1c1808 Reduced most MultiHal ALOGI to ALOGV, reducing bootup logspam.
Bug: 14084750
Change-Id: I099aaaa24caf0213af373b5a600616674349ff95
2014-04-15 16:22:05 -07:00
Aaron Whyte
4d7ac52d75 Fixed multihal handling of nonexistent sensor handles.
This prevents crashes and undefined behavior when someone
calls sensor HAL methods with nonexistent handles.
It also adds checks and warnings if bad sensor HALs provide
garbage sensor handles in their sensor events.

Tested by making sure pedometer and tilt still work.

Bug: 13513595
Change-Id: Ie1489d3f2972bec82ee1c73189e532f6658d1eca
2014-04-15 11:00:14 -07:00
Nick Vaccaro
93bf99647b Fix sensor multi hal crash when sub-HAL reports an error
Fix a null pointer dereference bug that caused the multihal to crash
in an endless loop continuously trying to open a sensor HAL when it
reports back an error.

Change-Id: I6d82e8fdd9acde53f378a5fb3dfdb02c39d7b433
2014-03-17 13:05:09 -07:00
Mike Lockwood
f847762477 DO NOT MERGE: Sensor multi HAL
Squashed commit of:

Move sensors multi HAL to libhardware

Added a SensorEventQueue, a circular buffer meant for reading with one thread
and polling a subhal with another. The writing thread gets access to pointers
in the internal buffer. This design avoids a memcpy on write when the multihal
fetches subhal events using poll().

Unit-tests include multithreaded reading and writing lots of events, in
random-sized chunks.

This is not used by the multihal yet. That will be a different CL.

MultiHal multithreaded polling

Tests SensorEventQueue I/O when the queue is full.
Reduced debug logging in multihal.

deactivated multihal logspam, made warnings warnings, left critical startup info

Removed unneeded linux/input.h includes, to fix Mac SDK build

Change-Id: I1e35508949df98a1acef7a4a2d012eea87b4a5eb
2013-12-09 15:26:55 -08:00