summaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth
diff options
context:
space:
mode:
authorLoic Poulain <loic.poulain@intel.com>2015-09-04 17:54:35 +0200
committerMarcel Holtmann <marcel@holtmann.org>2015-09-17 13:20:05 +0200
commit1cfbabdd11b32b6312a239a80583bbc09e1c3461 (patch)
tree7c37e2631ebf071b3caf615d49b6ecea3399b0f1 /drivers/bluetooth
parentBluetooth: btintel: Add Device Configuration support (diff)
downloadlinux-1cfbabdd11b32b6312a239a80583bbc09e1c3461.tar.xz
linux-1cfbabdd11b32b6312a239a80583bbc09e1c3461.zip
Bluetooth: hci_intel: Add Device configuration
Apply DDC parameters once controller is in operational mode. Signed-off-by: Loic Poulain <loic.poulain@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r--drivers/bluetooth/hci_intel.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/bluetooth/hci_intel.c b/drivers/bluetooth/hci_intel.c
index 215e8e9dd65f..b17386b5792c 100644
--- a/drivers/bluetooth/hci_intel.c
+++ b/drivers/bluetooth/hci_intel.c
@@ -737,6 +737,10 @@ static int intel_setup(struct hci_uart *hu)
bt_dev_info(hdev, "Found device firmware: %s", fwname);
+ /* Save the DDC file name for later */
+ snprintf(fwname, sizeof(fwname), "intel/ibt-11-%u.ddc",
+ le16_to_cpu(params->dev_revid));
+
kfree_skb(skb);
if (fw->size < 644) {
@@ -929,6 +933,9 @@ done:
set_bit(STATE_LPM_ENABLED, &intel->flags);
no_lpm:
+ /* Ignore errors, device can work without DDC parameters */
+ btintel_load_ddc_config(hdev, fwname);
+
skb = __hci_cmd_sync(hdev, HCI_OP_RESET, 0, NULL, HCI_CMD_TIMEOUT);
if (IS_ERR(skb))
return PTR_ERR(skb);