mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 23:32:14 +00:00
Bluetooth: Add support for setting LE advertising data
This patch adds support for setting basing LE advertising data. The three elements supported for now are the advertising flags, the TX power and the friendly name. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
This commit is contained in:
parent
bbaf444a89
commit
3f0f524baf
4 changed files with 123 additions and 1 deletions
|
@ -204,6 +204,9 @@ static void hci_cc_reset(struct hci_dev *hdev, struct sk_buff *skb)
|
|||
hdev->discovery.state = DISCOVERY_STOPPED;
|
||||
hdev->inq_tx_power = HCI_TX_POWER_INVALID;
|
||||
hdev->adv_tx_power = HCI_TX_POWER_INVALID;
|
||||
|
||||
memset(hdev->adv_data, 0, sizeof(hdev->adv_data));
|
||||
hdev->adv_data_len = 0;
|
||||
}
|
||||
|
||||
static void hci_cc_write_local_name(struct hci_dev *hdev, struct sk_buff *skb)
|
||||
|
@ -226,6 +229,9 @@ static void hci_cc_write_local_name(struct hci_dev *hdev, struct sk_buff *skb)
|
|||
|
||||
hci_dev_unlock(hdev);
|
||||
|
||||
if (!status && !test_bit(HCI_INIT, &hdev->flags))
|
||||
hci_update_ad(hdev);
|
||||
|
||||
hci_req_complete(hdev, HCI_OP_WRITE_LOCAL_NAME, status);
|
||||
}
|
||||
|
||||
|
@ -1091,8 +1097,11 @@ static void hci_cc_le_read_adv_tx_power(struct hci_dev *hdev,
|
|||
|
||||
BT_DBG("%s status 0x%2.2x", hdev->name, rp->status);
|
||||
|
||||
if (!rp->status)
|
||||
if (!rp->status) {
|
||||
hdev->adv_tx_power = rp->tx_power;
|
||||
if (!test_bit(HCI_INIT, &hdev->flags))
|
||||
hci_update_ad(hdev);
|
||||
}
|
||||
|
||||
hci_req_complete(hdev, HCI_OP_LE_READ_ADV_TX_POWER, rp->status);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue