diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2014-02-24 07:52:17 -0500 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2014-02-24 14:10:36 -0500 |
commit | 778b235a3be0588da1909f7ef75b4bc3dbc09dfc (patch) | |
tree | 3f9a369d3324f38f7a5e87527974c7271584de4f | |
parent | f4f07505005932ca5f6c8003323bd38dbd0c769c (diff) |
Bluetooth: Move HCI_ADVERTISING handling into mgmt.c
We'll soon need to make decisions on toggling the HCI_ADVERTISING flag
based on pending mgmt_set_powered commands. Therefore, move the handling
from hci_event.c into mgmt.c.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-rw-r--r-- | include/net/bluetooth/hci_core.h | 1 | ||||
-rw-r--r-- | net/bluetooth/hci_event.c | 8 | ||||
-rw-r--r-- | net/bluetooth/mgmt.c | 8 |
3 files changed, 11 insertions, 6 deletions
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index d2d756753714..6ff882e727d4 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h | |||
@@ -1174,6 +1174,7 @@ int mgmt_powered(struct hci_dev *hdev, u8 powered); | |||
1174 | void mgmt_discoverable_timeout(struct hci_dev *hdev); | 1174 | void mgmt_discoverable_timeout(struct hci_dev *hdev); |
1175 | void mgmt_discoverable(struct hci_dev *hdev, u8 discoverable); | 1175 | void mgmt_discoverable(struct hci_dev *hdev, u8 discoverable); |
1176 | void mgmt_connectable(struct hci_dev *hdev, u8 connectable); | 1176 | void mgmt_connectable(struct hci_dev *hdev, u8 connectable); |
1177 | void mgmt_advertising(struct hci_dev *hdev, u8 advertising); | ||
1177 | void mgmt_write_scan_failed(struct hci_dev *hdev, u8 scan, u8 status); | 1178 | void mgmt_write_scan_failed(struct hci_dev *hdev, u8 scan, u8 status); |
1178 | void mgmt_new_link_key(struct hci_dev *hdev, struct link_key *key, | 1179 | void mgmt_new_link_key(struct hci_dev *hdev, struct link_key *key, |
1179 | bool persistent); | 1180 | bool persistent); |
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index 064d619344b3..dea465ba276b 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c | |||
@@ -991,12 +991,8 @@ static void hci_cc_le_set_adv_enable(struct hci_dev *hdev, struct sk_buff *skb) | |||
991 | 991 | ||
992 | hci_dev_lock(hdev); | 992 | hci_dev_lock(hdev); |
993 | 993 | ||
994 | if (!status) { | 994 | if (!status) |
995 | if (*sent) | 995 | mgmt_advertising(hdev, *sent); |
996 | set_bit(HCI_ADVERTISING, &hdev->dev_flags); | ||
997 | else | ||
998 | clear_bit(HCI_ADVERTISING, &hdev->dev_flags); | ||
999 | } | ||
1000 | 996 | ||
1001 | hci_dev_unlock(hdev); | 997 | hci_dev_unlock(hdev); |
1002 | } | 998 | } |
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c index 9865e523df20..d39e57e9fed6 100644 --- a/net/bluetooth/mgmt.c +++ b/net/bluetooth/mgmt.c | |||
@@ -4832,6 +4832,14 @@ void mgmt_connectable(struct hci_dev *hdev, u8 connectable) | |||
4832 | new_settings(hdev, NULL); | 4832 | new_settings(hdev, NULL); |
4833 | } | 4833 | } |
4834 | 4834 | ||
4835 | void mgmt_advertising(struct hci_dev *hdev, u8 advertising) | ||
4836 | { | ||
4837 | if (advertising) | ||
4838 | set_bit(HCI_ADVERTISING, &hdev->dev_flags); | ||
4839 | else | ||
4840 | clear_bit(HCI_ADVERTISING, &hdev->dev_flags); | ||
4841 | } | ||
4842 | |||
4835 | void mgmt_write_scan_failed(struct hci_dev *hdev, u8 scan, u8 status) | 4843 | void mgmt_write_scan_failed(struct hci_dev *hdev, u8 scan, u8 status) |
4836 | { | 4844 | { |
4837 | u8 mgmt_err = mgmt_status(status); | 4845 | u8 mgmt_err = mgmt_status(status); |