History log of /external/bluetooth/bluedroid/btif/src/btif_hh.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d79fb192585822a76b833403dfc61468d225d0b3 12-Nov-2014 Priti Aghera <paghera@broadcom.com> Enforce Authentication for incoming HID connection

Enforce Authentication in addition to encryption for all incoming
HID connections.

Bug 17887668

Change-Id: Ib0d6cd6d8e793823c541a1b4468dcce89f297181
(cherry picked from commit 6d6502909c1dd1766db1fea2cb638866e137a7bf)
/external/bluetooth/bluedroid/btif/src/btif_hh.c
433fe016392c7ae003033530f1b3994f2ddad313 17-Oct-2014 Chaojing Sun <cjsun@broadcom.com> Cache HOGP HID report map

HID reports from a bonded device can be missed when Bluetooth is
restarted HOGP report discovery is still active. Caching the
report information and loading it back when the stack resets
will ensure incoming HID reports can be processed immediately.

Bug: 17999991
Change-Id: I4608935f8749537d6b05625b894445a21f844ee0
/external/bluetooth/bluedroid/btif/src/btif_hh.c
76f645ea6f5cd22e464dcbdb1e73ecb50c5ea87c 29-Aug-2013 Hemant Gupta <hemantg@codeaurora.org> Bluetooth: Update security for HID Devices to Encrypt on BT On. - do not merge

This patch updates HID Devices security mask to BTA_SEC_ENCRYPT from
BTA_SEC_NONE. Without this change it was observed that on BT Reset,
authentication and encryption were not initiated by DUT for incoming
HID Control L2CAP Connection Request from remote HID Keyboard device.

Change-Id: I484fbae1294fde386bd7959467214f9968e381e9
/external/bluetooth/bluedroid/btif/src/btif_hh.c
afa6e1abbedaad8fe854b0f43999b8aeb801af91 28-Jun-2014 Matthew Xie <mattx@google.com> resolved conflicts for merge of e8c3d75b to master

Change-Id: I78ef69c4d54a36243620ae14296d3507e3339567
e8c3d75b75493911ebf0f99c83676359657178f7 04-May-2014 Sharvil Nanavati <sharvil@google.com> Logging cleanup: BTIF and APPL.

Change-Id: I5b1214642bbb4b9aecc0fd2c899a6ec2c9793286
/external/bluetooth/bluedroid/btif/src/btif_hh.c
1a3006f317b1b493dde1b80c4debbcf1bf5f6727 04-May-2014 Sharvil Nanavati <sharvil@google.com> Eliminate dead code (helped by compiler warnings).

I've removed all functions that the compiler decided were unused.

Change-Id: I0cbddf874ebd1586abe29b80e8d6390680679542
/external/bluetooth/bluedroid/btif/src/btif_hh.c
740def526e757f5ea8f30d9d28d1e7a668dadc42 04-May-2014 Sharvil Nanavati <sharvil@google.com> Eliminate dead code (helped by compiler warnings).

I've removed all functions that the compiler decided were unused.

Change-Id: I0cbddf874ebd1586abe29b80e8d6390680679542
/external/bluetooth/bluedroid/btif/src/btif_hh.c
ad7a6009746430da82ad7d8ee4a4784db7087ae4 21-Apr-2014 Hemant Gupta <hemantg@codeaurora.org> HID: Use dynamic memory while sending data

This patch uses dynamic memory allocation while sending HID output data to
remote device depending on size of data to be sent. Without this patch
fixed size static buffer of 200 bytes was being used for sending data to
remote device, which was resulting in crash in case data size to be sent
to remote device was greater than 200 bytes.

Change-Id: I5ed12422355e88d7ef0391668800d7619ca3b685
/external/bluetooth/bluedroid/btif/src/btif_hh.c
f11d21fa60be8a2cd072968bf5e1bb23ce5caabf 21-Apr-2014 Zhihai Xu <zhihaixu@google.com> HID: Use dynamic memory while sending report

This patch uses dynamic memory allocation while sending HID output data to
remote device depending on size of data to be sent. Without this patch
fixed size static buffer of 200 bytes was being used for sending data to
remote device, which was resulting in crash in case data size to be sent
to remote device was greater than 200 bytes.

CL from qcom(Hemant Gupta)
Change-Id: Icc8cd4a4ecfd4bc30cbf848a7c865fcf9308ddf8
/external/bluetooth/bluedroid/btif/src/btif_hh.c
8029dc8f0332d1135aa93e8e5daa46e3eb7b2500 21-Apr-2014 Hemant Gupta <hemantg@codeaurora.org> HID: Update SSR parameters during copy.

This patch correctly stores SSR parameters (max latency and min timeout)
retrieved from remote device SDP record in NVRAM.

Change-Id: I87d8b6181981090df21ab746deac7053a1d0e938
/external/bluetooth/bluedroid/btif/src/btif_hh.c
79eb1a643a2e627e5fb2c9dae1cb6a56a15ff0cf 21-Apr-2014 Hemant Gupta <hemantg@codeaurora.org> HID: Use dynamic memory while sending data

This patch uses dynamic memory allocation while sending HID output data to
remote device depending on size of data to be sent. Without this patch
fixed size static buffer of 200 bytes was being used for sending data to
remote device, which was resulting in crash in case data size to be sent
to remote device was greater than 200 bytes.

Change-Id: I5ed12422355e88d7ef0391668800d7619ca3b685
/external/bluetooth/bluedroid/btif/src/btif_hh.c
45c71b0647cba0f199a8dfd1321c1b59a916cfe5 21-Apr-2014 Zhihai Xu <zhihaixu@google.com> HID: Use dynamic memory while sending report

This patch uses dynamic memory allocation while sending HID output data to
remote device depending on size of data to be sent. Without this patch
fixed size static buffer of 200 bytes was being used for sending data to
remote device, which was resulting in crash in case data size to be sent
to remote device was greater than 200 bytes.

CL from qcom(Hemant Gupta)
Change-Id: Icc8cd4a4ecfd4bc30cbf848a7c865fcf9308ddf8
/external/bluetooth/bluedroid/btif/src/btif_hh.c
4c5f9ef5fa88891f073b38d5e15f2705ed5c235e 21-Apr-2014 Hemant Gupta <hemantg@codeaurora.org> HID: Update SSR parameters during copy.

This patch correctly stores SSR parameters (max latency and min timeout)
retrieved from remote device SDP record in NVRAM.

Change-Id: I87d8b6181981090df21ab746deac7053a1d0e938
/external/bluetooth/bluedroid/btif/src/btif_hh.c
c0f7987d626a70b1a23a28348ece8be69ce61a16 25-Feb-2014 Zhihai Xu <zhihaixu@google.com> Fix GKI exception of calling free on an already freed buffer

Various parts of btif_hh.c were creating GKI buffers and
keeping references to them and freeing them in odd and
unnecessary ways. The buffer is freed by lower levels
of the stack once the buffer has been sent to the chip
at the l2c layer and shouldn't be freed by btif_hh itself
since it's possible to double free, and there could
also be race conditions with other threads already processing
the buffer while the reference is freed if the API calls
are invoked again before the previous invocation was completely
processed.

Also added a helper routine to simplify buffer creation and
initialization.

Change-Id: Ia6039983502e2670b2325d90310244edf843b692
Signed-off-by: Mike J. Chen <mjchen@google.com>
/external/bluetooth/bluedroid/btif/src/btif_hh.c
6efaf223753108aa84f55332898340db0c9d5ebf 27-Jan-2014 Zhihai Xu <zhihaixu@google.com> bluetooth: hid: store ssr_max_latency and ssr_min_tout in bonding db

Store the ssr_max_latency and ssr_min_tout parameters in the
bonding database. Previously these parameters were not stored for HID
devices. This caused an inconsistency in sniff behavior between
when the HID device was paired and following a reboot of the host.

When the HID device is paired the SSR parameters are retrieved
from the HID device and are stored in the HID Host's device list.
If the host is rebooted then the HID Host's device list is
constructed from the bonding database.

If the SSR max latency is non-zero then the SSR parameters are
sent to the firmware and SSR is used. In the event that the SSR
max latency is 0, as it is if the parameters are not found, then
SSR is disabled.

Bug: 12764547

Change-Id: I63637575fdfcf4cb4ca0ce8dc2e4ccda9cccaf66
Signed-off-by: Adam Hampson <ahampson@google.com>
/external/bluetooth/bluedroid/btif/src/btif_hh.c
f691897800e086b6caf238ee78d560526e69c67d 25-Feb-2014 Mike J. Chen <mjchen@google.com> Add HID handshake_callback

It is called when the equivalent pkt is received from the HID
client as a normal response to set_report() and set_protocol_mode(),
and for errors for get_report() and get_protocol_mode().

Change-Id: I26ec37348e597f294f83907bbd256c88db5ac2ef
Signed-off-by: Mike J. Chen <mjchen@google.com>
/external/bluetooth/bluedroid/btif/src/btif_hh.c
be6d58f35e66b9e57cf4978be68840cbc8ac2fc9 25-Feb-2014 Mike J. Chen <mjchen@google.com> Fix GKI exception of calling free on an already freed buffer

Various parts of btif_hh.c were creating GKI buffers and
keeping references to them and freeing them in odd and
unnecessary ways. The buffer is freed by lower levels
of the stack once the buffer has been sent to the chip
at the l2c layer and shouldn't be freed by btif_hh itself
since it's possible to double free, and there could
also be race conditions with other threads already processing
the buffer while the reference is freed if the API calls
are invoked again before the previous invocation was completely
processed.

Also added a helper routine to simplify buffer creation and
initialization.

Change-Id: Ia6039983502e2670b2325d90310244edf843b692
Signed-off-by: Mike J. Chen <mjchen@google.com>
/external/bluetooth/bluedroid/btif/src/btif_hh.c
759280ee1f92945ed7c1c13f5ff8a037fa3bf3e4 26-Feb-2014 Matthew Xie <mattx@google.com> Merge "bluetooth: hid: store ssr_max_latency and ssr_min_tout in bonding db" into klp-modular-dev
bf6cab9332f81f7bcd4b3040c2c1edd3062ecb40 14-Feb-2014 Mike J. Chen <mjchen@google.com> Don't send a dummy 0 HID event when connection is closed

This was put there by Broadcom to try to handle held keys
on disconnect, but the best place to do that is in InputManager.
There's no guarantee that a report_id 1 is keyboard, and
in particular it causes game controllers to get a false
joystick move event to 0,0.

Bug 12785130

Change-Id: I85fbafa44d927082def3848132344550e8b94bb0
Signed-off-by: Mike J. Chen <mjchen@google.com>
/external/bluetooth/bluedroid/btif/src/btif_hh.c
5cd8bff2dd0337cb52bf48f312e3d2d55a8882fb 01-Feb-2014 Mike J. Chen <mjchen@google.com> Major warnings cleanup

Mostly fixing unused parameter warnings.
A few other warnings also fixed like possible use of
unitialized variables (no real issue found, just compiler couldn't
follow the path), signed vs unsigned warning.

Also fixed some typos, indent issues, removal of dead code, etc.

Change-Id: I95eb887aefc4d559d7921f71a0af5f3bfb01ac01
Signed-off-by: Mike J. Chen <mjchen@google.com>
/external/bluetooth/bluedroid/btif/src/btif_hh.c
b46d9b899f5e28929c8530cb99d023c93e5d5cb8 24-Jan-2014 Mike J. Chen <mjchen@google.com> Fix HID get_report callback support

There were multiple bugs in the code for get_report event
callback handling:

1) the p_dev lookup was using the wrong argument so was coming
up with NULL ptr and passing it through to the callback

2) the BT_HDR * was being passed to the callback instead of a
ptr to the payload

3) the size was being passed as a constant BT_HDR_SIZE.

It looked like this code was expecting the callback to parse
the BT_HDR, but that's an internal bluedroid structure.
The callback is defined as receiving the report data and the
report data size, which this change now provides.

Note that the payload might be NULL if the device returns
a HANDSHAKE error msg instead, and so it is valid to pass
the callback a NULL payload ptr and a 0 size.

Change-Id: I462b5cb5d4c460af085dc6e15f59c778a020a80e
Signed-off-by: Mike J. Chen <mjchen@google.com>
/external/bluetooth/bluedroid/btif/src/btif_hh.c
8a82348c04109cb85e3c0b676dd1c7c5cb461c24 27-Jan-2014 Adam Hampson <ahampson@google.com> bluetooth: hid: store ssr_max_latency and ssr_min_tout in bonding db

Store the ssr_max_latency and ssr_min_tout parameters in the
bonding database. Previously these parameters were not stored for HID
devices. This caused an inconsistency in sniff behavior between
when the HID device was paired and following a reboot of the host.

When the HID device is paired the SSR parameters are retrieved
from the HID device and are stored in the HID Host's device list.
If the host is rebooted then the HID Host's device list is
constructed from the bonding database.

If the SSR max latency is non-zero then the SSR parameters are
sent to the firmware and SSR is used. In the event that the SSR
max latency is 0, as it is if the parameters are not found, then
SSR is disabled.

Bug: 12764547

Change-Id: I63637575fdfcf4cb4ca0ce8dc2e4ccda9cccaf66
Signed-off-by: Adam Hampson <ahampson@google.com>
/external/bluetooth/bluedroid/btif/src/btif_hh.c
41b33913995e5baf53461fe50f836717c2a47db9 16-Dec-2013 Zhihai Xu <zhihaixu@google.com> Merge " the HID device state is out of sync after upair."
03c26931a463dd079bda26bfd19f323743f57f3e 16-Nov-2013 Zhihai Xu <zhihaixu@google.com> the HID device state is out of sync after upair.

the HID device state is out of sync between java layer and bluedroid stack after upair.
This will cause the HID device can't be connected after repair.
YOu can find the following error message
E/HidService( 1452): Hid Device not disconnected: 00:15:9E:20:29:41

bug:11718702
Change-Id: I271bb77a2cc205c5a0ef396db86b87902d29966b
/external/bluetooth/bluedroid/btif/src/btif_hh.c
0b93f5ce4df14aa3d3100a8f9609a1c7ea4cdbd9 06-Dec-2013 Zhihai Xu <zhihaixu@google.com> use bluetooth HID remote device name as input device name.

bug:12003067
Change-Id: I74e4921047a27ee79fa1e3cd58056fde2958e60f
/external/bluetooth/bluedroid/btif/src/btif_hh.c
a9eb25c8c01e70613bace21b23a06bd9a10871b1 30-Sep-2013 Kim Schulz <k.schulz@samsung.com> Pairing with dissapeard HID decive never times out (in UI)

- added function to notify the UI about failed HID pairing

patch set2:
- added function header

patch set3:
- break long line

Bug: 10998578
Change-Id: I7314bf07da7ebac7252c6902d987fbca20da2abc
/external/bluetooth/bluedroid/btif/src/btif_hh.c
390c94dc0f9deee917f52caaf3f8bb9f79aa98b4 16-May-2013 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Removed COD check for unbond and UNPAIRED_EVT

PC supporting HID Device would not have Peripheral as
its MAJOR COD. So COD check for major peripheral device was removed
in case of UNBOND and while receiving UNPAIRED_EVT. Additonal checking
is done when virtual unplug evt is received to remove bonding only for
HID Devic with MAJOR COD as Peripheral or if its a locally initiated
VUP.

Change-Id: I5343919463e48babc9cd03e05ff92a3f93f6d26d
/external/bluetooth/bluedroid/btif/src/btif_hh.c
33af35c49731bc8e305c862c8e9f3e42a1ab0dc9 10-Apr-2013 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Fix for Nyko playpad

Nyko playpad does not cmply with HID Device spec. NYKO gamepad
advertises as supporting virtual unplug but when virtual is sent
by host it responds with ERR_UNSUPPORTED_REQUEST. Modified BTIF
code to start a timer when VUP is issued and fire the timer if peer
does not respond.
Bug:8055549

Change-Id: I90db956fb243f1a518b00424b103ebf9f0a1b7f0
/external/bluetooth/bluedroid/btif/src/btif_hh.c
ead3cde4bac0c3e32cd31f149093f004eef8ceeb 06-Feb-2013 Ganesh Ganapathi Batta <ganeshg@broadcom.com> Initial version of BLE support for Bluedroid

Change-Id: I9825a5cef9be2559c34c2a529b211b7d471147cf
/external/bluetooth/bluedroid/btif/src/btif_hh.c
ebb1d755818704a662f7ea8ae3cc1b5593d582d8 28-Nov-2012 Priti Aghera <paghera@broadcom.com> Fixed unpair and reconnect issue with certain non-pointing hid devices

Hid info would not be removed from storage if COD is
NON_KEYBOARD_NON_POINTING. Due to this the device will
be added to stack even if it is unpaired and subsequent connections
will fail.
bug 8055549

Change-Id: Ib493fc165120de3c71398f5fe24b17f31fa5fc3e
/external/bluetooth/bluedroid/btif/src/btif_hh.c
689d66b6559dcb3a0ad7f6cc33b6129e50910253 13-Dec-2012 The Android Open Source Project <initial-contribution@android.com> Snapshot 9fd57cbacd95e89602f430244c35bbc67f08b6d2

Change-Id: Ibc3a4bf4161d286c7cfab89a19c676eb5cc9224f
/external/bluetooth/bluedroid/btif/src/btif_hh.c
5738f83aeb59361a0a2eda2460113f6dc9194271 13-Dec-2012 The Android Open Source Project <initial-contribution@android.com> Snapshot cdeccf6fdd8c2d494ea2867cb37a025bf8879baf

Change-Id: Ia2de32ccb97a9641462c72363b0a8c4288f4f36d
/external/bluetooth/bluedroid/btif/src/btif_hh.c