diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2015-10-17 10:00:27 -0400 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2015-10-20 18:49:22 -0400 |
commit | d8270fbb3ffe9a29d81bdaa66c81ef021ba09651 (patch) | |
tree | 8e262b1ca55a10593f3c31be2423eb7d6552408e /drivers/bluetooth/btintel.c | |
parent | 7e995b9eadbe226e355b785a765fd90fe0487414 (diff) |
Bluetooth: btintel: Set quirk for non-persistent diagnostic settings
For Intel controllers the diagnostics settings are not persistent over
HCI Reset. So set the quirk to programm them again on every power up.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'drivers/bluetooth/btintel.c')
-rw-r--r-- | drivers/bluetooth/btintel.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c index 95652aa12454..8d4891725e3b 100644 --- a/drivers/bluetooth/btintel.c +++ b/drivers/bluetooth/btintel.c | |||
@@ -97,9 +97,6 @@ int btintel_set_diag(struct hci_dev *hdev, bool enable) | |||
97 | u8 param[3]; | 97 | u8 param[3]; |
98 | int err; | 98 | int err; |
99 | 99 | ||
100 | if (!test_bit(HCI_RUNNING, &hdev->flags)) | ||
101 | return -ENETDOWN; | ||
102 | |||
103 | if (enable) { | 100 | if (enable) { |
104 | param[0] = 0x03; | 101 | param[0] = 0x03; |
105 | param[1] = 0x03; | 102 | param[1] = 0x03; |
@@ -113,6 +110,8 @@ int btintel_set_diag(struct hci_dev *hdev, bool enable) | |||
113 | skb = __hci_cmd_sync(hdev, 0xfc43, 3, param, HCI_INIT_TIMEOUT); | 110 | skb = __hci_cmd_sync(hdev, 0xfc43, 3, param, HCI_INIT_TIMEOUT); |
114 | if (IS_ERR(skb)) { | 111 | if (IS_ERR(skb)) { |
115 | err = PTR_ERR(skb); | 112 | err = PTR_ERR(skb); |
113 | if (err == -ENODATA) | ||
114 | return 0; | ||
116 | BT_ERR("%s: Changing Intel diagnostic mode failed (%d)", | 115 | BT_ERR("%s: Changing Intel diagnostic mode failed (%d)", |
117 | hdev->name, err); | 116 | hdev->name, err); |
118 | return err; | 117 | return err; |