Bluetooth: mgmt: Fix clearing of hdev->eir
authorJohan Hedberg <johan.hedberg@intel.com>
Wed, 22 Feb 2012 13:38:48 +0000 (15:38 +0200)
committerJohan Hedberg <johan.hedberg@intel.com>
Thu, 23 Feb 2012 11:06:59 +0000 (13:06 +0200)
The hdev->eir buffer needs to be cleared when clearing the EIR data.
Otherwise subsequent attempts at setting the EIR to something valid
again may fail because the code thinks that the EIR hasn't changed.

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

index bdaadb278ce7d922b32ea474eeb057dcfb50dde9..08c657df7f8c44083a130788b15a78391e9d9ae2 100644 (file)
@@ -3400,6 +3400,8 @@ static int clear_eir(struct hci_dev *hdev)
        if (!(hdev->features[6] & LMP_EXT_INQ))
                return 0;
 
+       memset(hdev->eir, 0, sizeof(hdev->eir));
+
        memset(&cp, 0, sizeof(cp));
 
        return hci_send_cmd(hdev, HCI_OP_WRITE_EIR, sizeof(cp), &cp);