OSDN Git Service
Chris Manton [Thu, 20 Nov 2014 06:15:35 +0000 (22:15 -0800)]
Device class implementation
Chris Manton [Tue, 6 Jan 2015 23:45:41 +0000 (15:45 -0800)]
Add compile time checks
Chris Manton [Tue, 11 Nov 2014 20:14:52 +0000 (12:14 -0800)]
Add more uuid methods
Zach Johnson [Wed, 5 Nov 2014 05:43:33 +0000 (21:43 -0800)]
Add a simple classic peer
Zach Johnson [Wed, 5 Nov 2014 22:29:31 +0000 (14:29 -0800)]
Add a hash function for bluetooth addresses
Also includes simple tests for it + disambiguates
including hash_function.h throughout the stack.
Zach Johnson [Wed, 5 Nov 2014 22:25:49 +0000 (14:25 -0800)]
Add key equality function option for hash_map
This will allow us to do deeper equality on things like
bluetooth addresses where the actual pointers are different
but the values of the bluetooth addresses are the same.
Zach Johnson [Sat, 27 Dec 2014 04:29:27 +0000 (20:29 -0800)]
Clean up unused functions in btm_sec
Zach Johnson [Thu, 25 Dec 2014 03:09:22 +0000 (19:09 -0800)]
Remove unused security abort callback
The callback in BTA was null, so it never was actually
used.
Zach Johnson [Wed, 24 Dec 2014 23:59:14 +0000 (15:59 -0800)]
Remove link key request callback
The core security manager stores whether we have link keys
for each peer. This other call up to the bta device manager
to see if it has link keys is a dead end and does nothing.
Zach Johnson [Sat, 27 Dec 2014 01:51:03 +0000 (17:51 -0800)]
Canonicalize HCI logtags with bt_ prefix
Zach Johnson [Thu, 25 Dec 2014 05:07:38 +0000 (21:07 -0800)]
Add bash script for running unit tests
This script helps simplify pushing and running bluedroid unit tests.
You can run all of the known ones, or provide names of selected unit
test executables you wish to run.
Sharvil Nanavati [Mon, 29 Dec 2014 08:56:46 +0000 (00:56 -0800)]
Rename Bluetooth binaries to use the net_ and net_test_ prefixes.
Steve Gu [Fri, 7 Nov 2014 23:05:06 +0000 (15:05 -0800)]
Sometimes I forget stopping shell before running bdtest.
Make this check automatic and print out a friendly message for reminder.
Sharvil Nanavati [Fri, 26 Dec 2014 06:17:09 +0000 (22:17 -0800)]
Remove unnecessary newlines at the end of log statements.
Sharvil Nanavati [Wed, 24 Dec 2014 07:08:58 +0000 (23:08 -0800)]
Add platform-independent logging macros to OSI.
These macros should replace ALOG* and the various trace macros
used throughout bluedroid. This change eliminates all uses of the
ALOG* macros in favor of the new ones.
Zach Johnson [Mon, 8 Sep 2014 19:10:30 +0000 (12:10 -0700)]
Remove unused ACL packet size getters, remove unused timer entity
Sharvil Nanavati [Fri, 12 Dec 2014 07:19:44 +0000 (23:19 -0800)]
Extend bdtool to accept / initiate SCO connections.
This is a great way to run controlled audio quality experiments for
the Handsfree profile.
Sharvil Nanavati [Fri, 12 Dec 2014 09:52:55 +0000 (01:52 -0800)]
Remove unused shell script, gen-buildcfg.sh.
Sharvil Nanavati [Sun, 7 Dec 2014 22:15:09 +0000 (14:15 -0800)]
Add RFCOMM result code string for an unspecified error.
The code enumerating the list of possible error codes is not
a C enum and the original authors skipped a value. As a result, the
table mapping error codes to strings is off by one after that skipped
value. I'm inserting a string for that error code even though it's not
defined so the strings line up with the actual error.
June R. Tate-Gans [Tue, 2 Dec 2014 20:48:03 +0000 (12:48 -0800)]
Adding some logging for the close states for RFCOMM connections.
Sharvil Nanavati [Sat, 15 Nov 2014 08:17:35 +0000 (00:17 -0800)]
Fix bug in SDP server where it would get into an infinite loop.
If the SDP database is mutated while a client is fetching SDP records,
we can end up in an infinite request/response loop. Specifically, if
an SDP record is deleted after a client has received the first fragment
of a multi-fragment response, the server will not be able to complete
the request. Instead, it will return the same continuation token back
to the client which will request the next fragment and the server,
again, will return the same continuation token. This process repeats
forever, resulting in a large amount of unncessary BT traffic and
power costs on both devices.
Unfortunately, this seems to be a design flaw in the current SDP
server implementation. This change simply detects the above condition
and aborts the transaction entirely by returning an error to the
client. Future changes will eliminate this class of problem entirely.
Sharvil Nanavati [Fri, 14 Nov 2014 01:29:21 +0000 (17:29 -0800)]
Introduce a growing array class.
Arrays are useful for storing a collection of small objects where
linked list node allocations would be a lot of overhead. They are
also useful for random access through the container. Lastly, this
implementation assumes copy semantics which are intentionally
different from list's reference semantics (since objects are assumed
to be smaller).
The current interface is intentionally sparse.
Zach Johnson [Thu, 13 Nov 2014 21:55:32 +0000 (13:55 -0800)]
Increase GKI buffer size
Bug:
18324148
Chris Manton [Tue, 11 Nov 2014 21:15:13 +0000 (13:15 -0800)]
Add counter unit tests
Chris Manton [Thu, 13 Nov 2014 00:31:43 +0000 (16:31 -0800)]
Explicitly add include paths
Allocation test harness included relatively local
header allocation_tracker.h. Change to include
absolute header location from bluedroid root.
Sharvil Nanavati [Thu, 13 Nov 2014 09:04:19 +0000 (01:04 -0800)]
Enable allocation tracking for eng and userdebug builds.
This change will result in a constant increase in memory utilization
per allocation but will help us catch memory errors earlier.
Sharvil Nanavati [Wed, 5 Nov 2014 22:48:58 +0000 (14:48 -0800)]
Add a "setDiscoverable" command to hci.
June R. Tate-Gans [Tue, 11 Nov 2014 00:34:45 +0000 (16:34 -0800)]
Adding in some additional, but critical, logs.
Sharvil Nanavati [Fri, 7 Nov 2014 02:34:06 +0000 (18:34 -0800)]
Update module names to not use C preprocessor and to be at top of headers.
Chris Manton [Fri, 19 Sep 2014 17:49:50 +0000 (10:49 -0700)]
Replace BUFFER_Q with list_t #2
rcv_hold_q -> rcv_pending_q
Chris Manton [Thu, 18 Sep 2014 23:19:26 +0000 (16:19 -0700)]
Replace BUFFER_Q with list_t
soc_queue
Chris Manton [Mon, 22 Sep 2014 21:46:41 +0000 (14:46 -0700)]
General tidy up of L2CAP flow control
- Alphabetize include files
- Add asserts
- Ensure static funtions are marked as such
- Remove unnecessary logging
Chris Manton [Mon, 22 Sep 2014 20:41:51 +0000 (13:41 -0700)]
Properly iterate when removing from list
Ensure we hand off the node iterator before
proceeding to remove from the list.
Chris Manton [Fri, 17 Oct 2014 17:58:53 +0000 (10:58 -0700)]
Add error checking when getting property
Also added PAN API
Chris Manton [Fri, 7 Nov 2014 01:08:20 +0000 (17:08 -0800)]
Expand include pathnames and add bd root path
Hopefully this will squash the sem_t semaphore_t collision
Zach Johnson [Wed, 12 Nov 2014 06:57:38 +0000 (22:57 -0800)]
Back GKI buffers with malloc
It looks like we're somehow getting NULL back from buffer allocation.
Backing GKI buffers with malloc should fix this.
Bug:
18324148
Zach Johnson [Wed, 3 Dec 2014 23:18:49 +0000 (15:18 -0800)]
ungkibufferize the profile queue, use assert
ASSERTC isn't a real assert. It just prints a message and allows the
code to carry on. Switch to asserts so the exception condition is
evident in the crash log.
Make the profile queue use osi_malloc/free instead of gki buffers, so it
can't drain the buffer pool.
Sharvil Nanavati [Sat, 15 Nov 2014 01:04:46 +0000 (17:04 -0800)]
Print out every power management mode switch initiated from the host.
Zach Johnson [Tue, 11 Nov 2014 07:42:36 +0000 (23:42 -0800)]
Fixed HAL layer ignore state handling
If the hci layer ever entered the ignore state,
synchronization death was immenent. This patch fixes that.
Also adds additional info print out when entering the ignored state.
Adds tests for the ignored state.
Doesn't solve the problem of why we were getting NULL back from
the buffer allocator, though. (The trigger for the ignored state.)
Bug:
18156298
Sharvil Nanavati [Wed, 5 Nov 2014 10:09:42 +0000 (02:09 -0800)]
Add a command line flag to skip sanity test suite.
Sharvil Nanavati [Wed, 5 Nov 2014 09:21:58 +0000 (01:21 -0800)]
bdtest: read the paired device's bdaddr from the stack config file.
Zach Johnson [Sat, 1 Nov 2014 23:16:11 +0000 (16:16 -0700)]
Remove ptim and associated GKI timer functions
Zach Johnson [Thu, 26 Feb 2015 23:33:35 +0000 (15:33 -0800)]
Remove some remaining references to message based timers
Some of this gets cleaned up in a later CL during the merge
but removing them now so the ptim removal change compiles.
Zach Johnson [Sat, 1 Nov 2014 22:13:04 +0000 (15:13 -0700)]
Remove unused link key functions from devctl
The security manager looks for the link key notification event,
so it doesn't use these read/write link key functions at all.
Steve Gu [Tue, 4 Nov 2014 01:05:58 +0000 (17:05 -0800)]
Modify bdtest to enable running individual tests by their name.
Zach Johnson [Fri, 31 Oct 2014 04:40:13 +0000 (21:40 -0700)]
Remove the afh functions from btm_devctl
The callers were removed in a previous CL, so these
are no longer necessary.
Zach Johnson [Fri, 31 Oct 2014 04:02:58 +0000 (21:02 -0700)]
Remove BTA_CheckEirData, a direct redefinition of BTM_CheckEirData
Gentle move towards using more of BTM directly.
Zach Johnson [Fri, 31 Oct 2014 02:29:12 +0000 (19:29 -0700)]
Remove some functionredefinitions from bta dm
These weren't used. And were another layer of indirection
for things that already existed. One reason for the initial
implementation is that they would ensure the actual calls
happen in a known thread.
Sharvil Nanavati [Thu, 16 Oct 2014 01:30:49 +0000 (18:30 -0700)]
Use correct service ID for A2DP source to make way for A2DP sink.
Sharvil Nanavati [Wed, 15 Oct 2014 01:46:32 +0000 (18:46 -0700)]
L2CAP: expose a function to return the RCID and ACL handle for a given LCID.
Chris Manton [Fri, 31 Oct 2014 21:54:51 +0000 (14:54 -0700)]
Move controller module to device directory
Chris Manton [Fri, 31 Oct 2014 17:41:37 +0000 (10:41 -0700)]
Unused function
Chris Manton [Wed, 29 Oct 2014 04:30:03 +0000 (21:30 -0700)]
Remove unused inquiry DB functions
These are not used for the inquiry database.
Chris Manton [Fri, 24 Oct 2014 16:12:41 +0000 (09:12 -0700)]
Remove always true definition BTM_EIR_SERVER_INCLUDED
Chris Manton [Thu, 23 Oct 2014 23:28:28 +0000 (16:28 -0700)]
Removing unused function BTA_DmSetScanParam()
Chris Manton [Thu, 23 Oct 2014 19:36:14 +0000 (12:36 -0700)]
Remove always true BTM_USE_INQ_RESULTS_FILTER
Chris Manton [Thu, 23 Oct 2014 19:30:15 +0000 (12:30 -0700)]
Remove always false flag BTM_BYPASS_EVENT_FILTERING
Chris Manton [Tue, 21 Oct 2014 20:55:24 +0000 (13:55 -0700)]
Instrument data flow a bit
Use counters to grab some select data metrics.
Sharvil Nanavati [Mon, 27 Oct 2014 23:56:42 +0000 (16:56 -0700)]
Don't dispatch connections in the connection queue until stack comes up.
Bug:
18139425
Chris Manton [Wed, 13 Aug 2014 23:38:57 +0000 (16:38 -0700)]
counter implementation
Chris Manton [Thu, 16 Oct 2014 22:53:13 +0000 (15:53 -0700)]
Remove duplicate functionality
Now that bdtest depends on btcore we can
remove the bdaddr parsing functionality.
Zach Johnson [Mon, 20 Oct 2014 23:33:08 +0000 (16:33 -0700)]
Remove uncompiled unused PBAP support
Like OPP, the phone book access profile is implemented in
java for android. Cleaning up some references to uncompiled phone book
support in bluedroid.
Left the few definitions SDP relies on. We can consolidate that later.
Chris Manton [Thu, 16 Oct 2014 17:54:20 +0000 (10:54 -0700)]
Remove unused functions BTM_RegForLstoEvt/btm_acl_set_discing
Chris Manton [Wed, 15 Oct 2014 23:31:49 +0000 (16:31 -0700)]
Remove always true BTM_PWR_MGR_INCLUDED
There are two code paths to set the chip into the power modes.
The power manager aggregates access to the power modes.
Does not compile when set to false.
Chris Manton [Wed, 15 Oct 2014 21:12:08 +0000 (14:12 -0700)]
Remove always true BTM_BUSY_LEVEL_CHANGE_INCLUDED
Chris Manton [Tue, 30 Sep 2014 04:37:44 +0000 (21:37 -0700)]
Remove data_types.h
Chris Manton [Wed, 15 Oct 2014 16:35:14 +0000 (09:35 -0700)]
Actually remove bd.[c|h]
Chris Manton [Wed, 1 Oct 2014 16:14:06 +0000 (09:14 -0700)]
Removal of bd.[c|h]
Consolidate legacy types into bt_types.h
June R. Tate-Gans [Fri, 19 Sep 2014 16:54:19 +0000 (09:54 -0700)]
Moving btif_sock_sdp to stdint and stdbool.
Zach Johnson [Tue, 16 Sep 2014 05:29:54 +0000 (22:29 -0700)]
Fix how add_sdp_by_uuid passes the uuid to SDP_AddSequence
SDP_AddSequence expects to dereference the passed
pointer and find a pointer there, and that pointer
pointing to UINT8s.
Before, we were passing &type_buf, which gives the
address of the first UINT8 in the array on the stack.
This meant SDP_AddSequence was treating the first few
bytes of the uuid as a pointer to somewhere, leading
to a segfault when it tried to follow it.
June R. Tate-Gans [Thu, 11 Sep 2014 00:05:21 +0000 (17:05 -0700)]
Refactoring btif_sock_sdp.c for clarity
Zach Johnson [Thu, 26 Feb 2015 00:46:34 +0000 (16:46 -0800)]
Revert "BT MAP: added support for email sharing over BT"
Another change being backed out until the megamerge is over.
This reverts commit
c331807e3c3a0e15180a11325e1635ae5268aa39.
Zach Johnson [Thu, 26 Feb 2015 00:44:31 +0000 (16:44 -0800)]
Revert "MAP: SDP corruption"
Backing out so our rewrite merges cleanly.
This reverts commit
54e24af853a77a057995ee4f234bae4d490b32e5.
Andre Eisenbach [Thu, 26 Feb 2015 00:06:15 +0000 (16:06 -0800)]
Revert "Forgot device/Android.mk"
Broken build...
This reverts commit
d935ef9446990c17412d2b0d5ce158df54377871.
Andre Eisenbach [Thu, 26 Feb 2015 00:01:07 +0000 (16:01 -0800)]
Revert "Remove unused inquiry variables"
Still used by BTA API BTA_DmSetScanParam
This reverts commit
d84f0c8c5eb67a45cb2e0993324d1dff8b499b1b.
Chris Manton [Fri, 31 Oct 2014 22:21:48 +0000 (15:21 -0700)]
Forgot device/Android.mk
Slipped by...
Chris Manton [Fri, 24 Oct 2014 16:18:57 +0000 (09:18 -0700)]
Remove always undefined BTM_EIR_UUID_LKUP_TBL
Chris Manton [Fri, 24 Oct 2014 16:00:13 +0000 (09:00 -0700)]
Remove always true definition BTM_EIR_CLIENT_INCLUDED
Chris Manton [Thu, 23 Oct 2014 23:31:49 +0000 (16:31 -0700)]
Remove unused inquiry variables
Sharvil Nanavati [Wed, 29 Oct 2014 06:43:59 +0000 (23:43 -0700)]
A2DP sink: reply with success on Start command.
We've observed a Nexus 5 sending back-to-back START requests. If we
accept the first request and move to the STREAMING state, we'll reject
subsequent requests. The phone, however, ignores the first response
(since it has already issued another START) and will not route audio
to Glass.
This is a speculative fix. If we're in the STREAMING state and we
get an incoming START request, accept the request instead of rejecting
it to work around a buggy implementation on the peer.
Bug:
18165461
Andre Eisenbach [Wed, 25 Feb 2015 23:36:07 +0000 (15:36 -0800)]
Fix bdtool compile errors
Sharvil Nanavati [Sat, 20 Sep 2014 07:48:47 +0000 (00:48 -0700)]
Add Android.mk to tools/ directory.
Sharvil Nanavati [Mon, 22 Sep 2014 04:17:15 +0000 (21:17 -0700)]
Don't touch alarm's contents if it has already been freed.
The current code potentially writes values to the alarm struct after
it has been freed. This change makes sure we check that the struct
is owned by the current thread before touching its contents (read or
write).
Sharvil Nanavati [Mon, 22 Sep 2014 06:43:22 +0000 (23:43 -0700)]
Fix NULL pointer dereference in bta_pan_co_tx_path.
This happens when the PAN connection terminates but the stack is
still sending data back to the system. There's a timing component
to this bug; the stack doesn't crash 100% of the time since it
depends on whether the TX path notices the PAN connection was torn
down or not before calling bta_pan_co_tx_path.
Chris Manton [Wed, 24 Sep 2014 18:49:42 +0000 (11:49 -0700)]
Directory layout documentation
Sharvil Nanavati [Tue, 30 Sep 2014 23:56:10 +0000 (16:56 -0700)]
Document network ports used by bluedroid.
Sharvil Nanavati [Tue, 30 Sep 2014 23:50:31 +0000 (16:50 -0700)]
Document the set of log tags used by bluedroid.
Going forward, we should clean up the log tags to use a consistent
naming scheme. All log tags should be lowercase and should use
underscores instead of hyphens.
Sharvil Nanavati [Tue, 14 Oct 2014 00:41:19 +0000 (17:41 -0700)]
avdt: Make sure LCID field is filled out even on incoming connections.
Zach Johnson [Wed, 24 Sep 2014 20:57:45 +0000 (13:57 -0700)]
Make bdtest report the total number of tests (sanity + suite)
There are currently 11 tests, but if one failed it would report 1/9 rather than 1/11.
Zach Johnson [Wed, 24 Sep 2014 20:41:33 +0000 (13:41 -0700)]
Change bdtest text color gray to the default color
My command prompt outputs white text, so this change makes bdtest
restore the default color after running, instead of leaving it gray.
Sharvil Nanavati [Wed, 3 Sep 2014 18:47:48 +0000 (11:47 -0700)]
Add system tests for RFCOMM sockets.
Sharvil Nanavati [Mon, 22 Sep 2014 07:47:50 +0000 (00:47 -0700)]
Add a watchdog timer to test suite.
If a test case doesn't make forward progress after some amount
of time, we terminate the process and assume failure. It's important
for test automation that the test suite does not hang forever.
Sharvil Nanavati [Sat, 20 Sep 2014 17:43:01 +0000 (10:43 -0700)]
Only colorize test result output if stdout is attached to a tty.
This will make sure redirected output won't have escape sequences
while still leaving the output pretty when running tests by hand.
Sharvil Nanavati [Tue, 24 Feb 2015 01:31:48 +0000 (17:31 -0800)]
Make build more strict by adding more warning flags.
This change introduces -Wunused-but-set-variable to help catch
programming errors. It also undefines NDEBUG so assertions are
fatal and defines LOG_NDEBUG=1 to suppress LOGV.
June R. Tate-Gans [Mon, 20 Oct 2014 19:41:43 +0000 (12:41 -0700)]
Removing a duplicate call to socket_register.
Chris Manton [Thu, 9 Oct 2014 23:04:05 +0000 (16:04 -0700)]
First entry for bdtool
Zach Johnson [Wed, 8 Oct 2014 16:18:48 +0000 (09:18 -0700)]
Comment said BTM_PM_SNIFF_SLOT_WORK_AROUND would be removed someday. Today is that day.
Looks like this has been around for a while, and isn't/shouldn't be used.
restore_pkt_types then becomes obsolete, so removed.
Sharvil Nanavati [Sun, 4 May 2014 00:32:05 +0000 (17:32 -0700)]
Make hci/ depend on bdroid_CFLAGS
Zach Johnson [Wed, 29 Oct 2014 00:59:13 +0000 (17:59 -0700)]
Fix BLE GAP handling after callback refactoring
BLE supported states was moved to controller during the callback
re-factoring CL, but in the commotion I forgot to remove the
supported states variable from devcb.
This meant I didn't realize GAP was looking at the wrong place
for BLE supported states. This CL fixes that.
Zach Johnson [Tue, 28 Oct 2014 00:23:49 +0000 (17:23 -0700)]
Remove unused function BTM_ChangeLinkKey & friends
Not used in the codebase. Removed it along with
all its related code.
According to the spec the change link key event is only
sent in response to the change link key command, so
it should be completely safe to remove that logic.