aboutsummaryrefslogtreecommitdiffstats
path: root/net/bluetooth
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2014-10-29 18:37:53 -0400
committerJohan Hedberg <johan.hedberg@intel.com>2014-10-30 12:41:08 -0400
commita4d5504d5c39cc84f1f828e19967595597a8136e (patch)
treea42abb33f8f612305d7f5a91206caefeac1f753c /net/bluetooth
parentdaac197ca9966eca3a6b07600e579756a9a1d447 (diff)
Bluetooth: Clear LE white list when resetting controller
The internal representation of the LE white list needs to be cleared when receiving a successful HCI_Reset command. A reset of the controller is expected to start with an empty LE white list. When the LE white list is not cleared on controller reset, the passive background scanning might skip programming the remote devices. Only changes to the LE white list are programmed when passive background is started. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Cc: stable@vger.kernel.org # 3.17.x
Diffstat (limited to 'net/bluetooth')
-rw-r--r--net/bluetooth/hci_event.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c
index f5704bae67a2..aa152140c3e2 100644
--- a/net/bluetooth/hci_event.c
+++ b/net/bluetooth/hci_event.c
@@ -205,6 +205,8 @@ static void hci_cc_reset(struct hci_dev *hdev, struct sk_buff *skb)
205 hdev->le_scan_type = LE_SCAN_PASSIVE; 205 hdev->le_scan_type = LE_SCAN_PASSIVE;
206 206
207 hdev->ssp_debug_mode = 0; 207 hdev->ssp_debug_mode = 0;
208
209 hci_bdaddr_list_clear(&hdev->le_white_list);
208} 210}
209 211
210static void hci_cc_write_local_name(struct hci_dev *hdev, struct sk_buff *skb) 212static void hci_cc_write_local_name(struct hci_dev *hdev, struct sk_buff *skb)