summaryrefslogtreecommitdiffstats
path: root/net/bluetooth
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2012-10-25 00:09:53 +0300
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>2012-11-01 20:27:00 -0200
commit430a61b8037e3184eb7e59220bb4a43530b8d0f6 (patch)
tree9ce44d500cd47d5f1c05997880fee475a110595b /net/bluetooth
parent1225a6bdf87446134789f3fc70ca75a056bbb1ed (diff)
downloadtalos-obmc-linux-430a61b8037e3184eb7e59220bb4a43530b8d0f6.tar.gz
talos-obmc-linux-430a61b8037e3184eb7e59220bb4a43530b8d0f6.zip
Bluetooth: Fix sending unnecessary HCI_LE_Host_Enable
This patch fixes sending an unnecessary HCI_LE_Host_Enable command if the command has already been sent as part of the default HCI init sequence. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Diffstat (limited to 'net/bluetooth')
-rw-r--r--net/bluetooth/mgmt.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index bcf7690a23cb..1a304e2d5a74 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -2926,8 +2926,14 @@ int mgmt_powered(struct hci_dev *hdev, u8 powered)
cp.le = 1;
cp.simul = !!lmp_le_br_capable(hdev);
- hci_send_cmd(hdev, HCI_OP_WRITE_LE_HOST_SUPPORTED,
- sizeof(cp), &cp);
+ /* Check first if we already have the right
+ * host state (host features set)
+ */
+ if (cp.le != !!lmp_host_le_capable(hdev) ||
+ cp.simul != !!lmp_host_le_br_capable(hdev))
+ hci_send_cmd(hdev,
+ HCI_OP_WRITE_LE_HOST_SUPPORTED,
+ sizeof(cp), &cp);
}
if (lmp_bredr_capable(hdev)) {
OpenPOWER on IntegriCloud