summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJohan Hedberg <johan.hedberg@intel.com>2012-02-22 14:38:48 +0100
committerJohan Hedberg <johan.hedberg@intel.com>2012-02-23 12:06:59 +0100
commitc80da27e868f6ffbe1c6588937aa4e7aeab21dec (patch)
tree0ce0ee1b706f4b58c91431bc63bf5d82c9ff6a7e /net
parentBluetooth: mgmt: Fix EIR toggling with SSP (diff)
downloadlinux-c80da27e868f6ffbe1c6588937aa4e7aeab21dec.tar.xz
linux-c80da27e868f6ffbe1c6588937aa4e7aeab21dec.zip
Bluetooth: mgmt: Fix clearing of hdev->eir
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>
Diffstat (limited to 'net')
-rw-r--r--net/bluetooth/mgmt.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index bdaadb278ce7..08c657df7f8c 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -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);