summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrei Emeltchenko2011-12-19 15:31:28 +0100
committerGustavo F. Padovan2011-12-20 19:59:30 +0100
commit2455a3ea0c0235fe3c32b67649ff7db3fb892d90 (patch)
treeeb4ed610b82a81bdf4d45a8fdaa914c37ae2e989
parentBluetooth: Split ctrl init to BREDR and AMP parts (diff)
downloadkernel-qcow2-linux-2455a3ea0c0235fe3c32b67649ff7db3fb892d90.tar.gz
kernel-qcow2-linux-2455a3ea0c0235fe3c32b67649ff7db3fb892d90.tar.xz
kernel-qcow2-linux-2455a3ea0c0235fe3c32b67649ff7db3fb892d90.zip
Bluetooth: Initialize default flow control mode
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com> Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
-rw-r--r--include/net/bluetooth/hci.h4
-rw-r--r--net/bluetooth/hci_core.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
index 2e48d326e365..66b26399a1ca 100644
--- a/include/net/bluetooth/hci.h
+++ b/include/net/bluetooth/hci.h
@@ -280,6 +280,10 @@ enum {
#define HCI_ERROR_LOCAL_HOST_TERM 0x16
#define HCI_ERROR_PAIRING_NOT_ALLOWED 0x18
+/* Flow control modes */
+#define HCI_FLOW_CTL_MODE_PACKET_BASED 0x00
+#define HCI_FLOW_CTL_MODE_BLOCK_BASED 0x01
+
/* ----- HCI Commands ---- */
#define HCI_OP_NOP 0x0000
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index bb089e3bccef..884eb85a136a 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -199,6 +199,8 @@ static void bredr_init(struct hci_dev *hdev)
__le16 param;
__u8 flt_type;
+ hdev->flow_ctl_mode = HCI_FLOW_CTL_MODE_PACKET_BASED;
+
/* Mandatory initialization */
/* Reset */
@@ -245,6 +247,8 @@ static void bredr_init(struct hci_dev *hdev)
static void amp_init(struct hci_dev *hdev)
{
+ hdev->flow_ctl_mode = HCI_FLOW_CTL_MODE_BLOCK_BASED;
+
/* Reset */
hci_send_cmd(hdev, HCI_OP_RESET, 0, NULL);