Bluetooth: Fix updating advertising data needlessly
authorJohan Hedberg <johan.hedberg@intel.com>
Mon, 14 Oct 2013 13:20:07 +0000 (16:20 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 14 Oct 2013 13:48:08 +0000 (06:48 -0700)
We need to ensure that the advertising data is up-to-date whenever
advertising is enabled, but when disabling advertising we do not need to
worry about it (since it will eventually get fixed as soon as
advertising is enabled again). This patch fixes this in the command
complete callback for set_adv_enable.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hci_event.c

index aa6fed3..da2bc3d 100644 (file)
@@ -924,7 +924,7 @@ static void hci_cc_le_set_adv_enable(struct hci_dev *hdev, struct sk_buff *skb)
                        clear_bit(HCI_ADVERTISING, &hdev->dev_flags);
        }
 
-       if (!test_bit(HCI_INIT, &hdev->flags)) {
+       if (*sent && !test_bit(HCI_INIT, &hdev->flags)) {
                struct hci_request req;
 
                hci_req_init(&req, hdev);