diff options
author | Andre Guedes <andre.guedes@openbossa.org> | 2012-03-15 15:52:07 -0400 |
---|---|---|
committer | Gustavo Padovan <gustavo@padovan.org> | 2012-05-08 23:41:32 -0400 |
commit | 7dbfac1d720d3ea68e00e187bbd2f1147257528b (patch) | |
tree | 717ef375cd89784a2281c8a40080afe272286ede /net/bluetooth/hci_core.c | |
parent | 2e3c35ead821498f5b0a5b6c62365fbb187420fc (diff) |
Bluetooth: Add hci_cancel_le_scan() to hci_core
This patch adds to hci_core the hci_cancel_le_scan function which
should be used to cancel an ongoing LE scan.
Signed-off-by: Andre Guedes <andre.guedes@openbossa.org>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'net/bluetooth/hci_core.c')
-rw-r--r-- | net/bluetooth/hci_core.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c index 47a4e9b26b9a..e3920b693f04 100644 --- a/net/bluetooth/hci_core.c +++ b/net/bluetooth/hci_core.c | |||
@@ -1671,6 +1671,24 @@ static int hci_do_le_scan(struct hci_dev *hdev, u8 type, u16 interval, | |||
1671 | return 0; | 1671 | return 0; |
1672 | } | 1672 | } |
1673 | 1673 | ||
1674 | int hci_cancel_le_scan(struct hci_dev *hdev) | ||
1675 | { | ||
1676 | BT_DBG("%s", hdev->name); | ||
1677 | |||
1678 | if (!test_bit(HCI_LE_SCAN, &hdev->dev_flags)) | ||
1679 | return -EALREADY; | ||
1680 | |||
1681 | if (cancel_delayed_work(&hdev->le_scan_disable)) { | ||
1682 | struct hci_cp_le_set_scan_enable cp; | ||
1683 | |||
1684 | /* Send HCI command to disable LE Scan */ | ||
1685 | memset(&cp, 0, sizeof(cp)); | ||
1686 | hci_send_cmd(hdev, HCI_OP_LE_SET_SCAN_ENABLE, sizeof(cp), &cp); | ||
1687 | } | ||
1688 | |||
1689 | return 0; | ||
1690 | } | ||
1691 | |||
1674 | static void le_scan_disable_work(struct work_struct *work) | 1692 | static void le_scan_disable_work(struct work_struct *work) |
1675 | { | 1693 | { |
1676 | struct hci_dev *hdev = container_of(work, struct hci_dev, | 1694 | struct hci_dev *hdev = container_of(work, struct hci_dev, |