Bluetooth: Fix unnecessary EIR update during powering on
authorJohan Hedberg <johan.hedberg@intel.com>
Wed, 24 Oct 2012 21:09:54 +0000 (00:09 +0300)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Thu, 1 Nov 2012 22:27:00 +0000 (20:27 -0200)
When powered on the EIR data gets updated as the last step by mgmt.
Therefore avoid an update when getting a local name update as that's
part of the normal HCI init sequence.

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>
net/bluetooth/mgmt.c

index 9017287..bcf7690 100644 (file)
@@ -3516,7 +3516,12 @@ send_event:
                err = mgmt_event(MGMT_EV_LOCAL_NAME_CHANGED, hdev, &ev,
                                 sizeof(ev), cmd ? cmd->sk : NULL);
 
-       update_eir(hdev);
+       /* EIR is taken care of separately when powering on the
+        * adapter so only update them here if this is a name change
+        * unrelated to power on.
+        */
+       if (!test_bit(HCI_INIT, &hdev->flags))
+               update_eir(hdev);
 
 failed:
        if (cmd)