]> Pileus Git - ~andy/linux/commitdiff
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 aa6fed3a553b222ab385b80f7ee0b69e6a3ca9ae..da2bc3d3d289e37a71866ded34f32ee44ab28e35 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);