Files
rockchip-kernel/include/net
Jakub Pawlowski 8474d887e6 UPSTREAM: Bluetooth: fix service discovery behaviour for empty uuids filter
This patch fixes service discovery behaviour, when provided uuid filter
is empty and HCI_QUIRK_STRICT_DUPLICATE_FILTER is set. Before this
patch, empty uuid filter was unable to trigger scan restart, and that
caused inconsistent behaviour in applications.

Example: two DBus clients call BlueZ, one to find all devices with
service abcd, second to find all devices with rssi smaller than -90.
Sum of those filters, that is passed to mgmt_service_scan is empty
filter, with no rssi or uuids set.
That caused kernel not to restart scan when quirk was set.
That was inconsistent with what happen when there's only one of those
two filters set (scan is restarted and reports devices).

To fix that, new variable hdev->discovery.result_filtering was
introduced. It can indicate that filtered scan is running, no matter
what uuid or rssi filter is set.

BUG=chromium:407773
TEST='btmgmt find-service -u <ADV_UUID> -r -90'

(cherry-picked from commit 82f8b651a9 from repo git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git)

Change-Id: Idcf7622c49c9159a86654658a1e0ad1673702013
Signed-off-by: Jakub Pawlowski <jpawlowski@google.com>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/258242
Reviewed-by: Arman Uguray <armansito@chromium.org>
2015-03-11 01:25:13 +00:00
..
2013-12-28 17:02:46 -05:00
2012-07-19 10:43:03 -07:00
2013-11-07 19:28:58 -05:00
2015-01-06 12:48:23 -08:00
2013-01-27 22:46:33 -05:00
2013-10-08 23:19:24 -04:00
2013-12-28 17:03:20 -05:00
2015-01-06 12:48:23 -08:00
2014-01-03 20:56:48 -05:00
2012-08-06 13:40:47 -07:00
2014-01-21 18:05:04 -08:00
2012-05-16 15:17:08 -04:00