summaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth/hci_h5.c
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2012-07-16 15:12:12 +0200
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>2012-07-17 19:48:30 +0200
commitcd1b44255c498d122220f5280c6cdbf7749c764b (patch)
tree2f44d672e8969976f05529172b35905dbfb378ad /drivers/bluetooth/hci_h5.c
parentBluetooth: Add delayed init sequence support for UART controllers (diff)
downloadlinux-cd1b44255c498d122220f5280c6cdbf7749c764b.tar.xz
linux-cd1b44255c498d122220f5280c6cdbf7749c764b.zip
Bluetooth: Use delayed init for Three-wire UART
This patch takes into use the delayed initialization feature that the Bluetooth UART framework provides. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Diffstat (limited to 'drivers/bluetooth/hci_h5.c')
-rw-r--r--drivers/bluetooth/hci_h5.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/bluetooth/hci_h5.c b/drivers/bluetooth/hci_h5.c
index 022a6bcb4323..3c0e17b4602d 100644
--- a/drivers/bluetooth/hci_h5.c
+++ b/drivers/bluetooth/hci_h5.c
@@ -138,6 +138,8 @@ static int h5_open(struct hci_uart *hu)
h5->timer.function = h5_timed_event;
h5->timer.data = (unsigned long) hu;
+ set_bit(HCI_UART_INIT_PENDING, &hu->hdev_flags);
+
/* Send initial sync request */
h5_link_control(hu, sync, sizeof(sync));
mod_timer(&h5->timer, jiffies + H5_SYNC_TIMEOUT);
@@ -229,6 +231,7 @@ static void h5_handle_internal_rx(struct hci_uart *hu)
h5_link_control(hu, conf_req, 3);
} else if (memcmp(data, conf_rsp, 2) == 0) {
BT_DBG("Three-wire init sequence complete");
+ hci_uart_init_ready(hu);
return;
} else {
BT_DBG("Link Control: 0x%02hhx 0x%02hhx", data[0], data[1]);