Bluetooth: Enable duplicates filter in background scan
authorAndre Guedes <andre.guedes@openbossa.org>
Mon, 10 Mar 2014 21:26:24 +0000 (18:26 -0300)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 11 Mar 2014 19:59:04 +0000 (12:59 -0700)
commit4340a124dea6a6a66c7889261574a48e57e8782a
tree3fea5fd906992484fd1b49d17feb816996b70d92
parent27539bc441c833c958de1d0c04212cb78b2a08b0
Bluetooth: Enable duplicates filter in background scan

To avoid flooding the host with useless advertising reports during
background scan, we enable the duplicates filter from controller.

However, enabling duplicates filter requires a small change in
background scan routine in order to fix the following scenario:
  1) Background scan is running.
  2) A device disconnects and starts advertising.
  3) Before host gets the disconnect event, the advertising is reported
     to host. Since there is no pending LE connection at that time,
     nothing happens.
  4) Host gets the disconnection event and adds a pending connection.
  5) No advertising is reported (since controller is filtering) and the
     connection is never established.

So, to address this scenario, we should always restart background scan
to unsure we don't miss any advertising report (due to duplicates
filter).

Signed-off-by: Andre Guedes <andre.guedes@openbossa.org>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hci_core.c