diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2014-10-29 18:37:53 -0400 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2014-10-30 12:41:08 -0400 |
commit | a4d5504d5c39cc84f1f828e19967595597a8136e (patch) | |
tree | a42abb33f8f612305d7f5a91206caefeac1f753c /net/bluetooth | |
parent | daac197ca9966eca3a6b07600e579756a9a1d447 (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.c | 2 |
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 | ||
210 | static void hci_cc_write_local_name(struct hci_dev *hdev, struct sk_buff *skb) | 212 | static void hci_cc_write_local_name(struct hci_dev *hdev, struct sk_buff *skb) |