diff options
author | Wesley Kuo <wesley.kuo@intel.com> | 2015-05-13 02:33:15 (GMT) |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2015-05-14 08:35:04 (GMT) |
commit | 177d0506a911eb60b38b172215df5325ed94fa64 (patch) | |
tree | 8eb0f6d3eece488a002cc491f39456b57b9ea315 | |
parent | ec0810d2ac1c932dad48f45da67e3adc5c5449a1 (diff) | |
download | linux-177d0506a911eb60b38b172215df5325ed94fa64.tar.xz |
Bluetooth: Fix remote name event return directly.
This patch fixes hci_remote_name_evt dose not resolve name during
discovery status is RESOLVING. Before simultaneous dual mode scan enabled,
hci_check_pending_name will set discovery status to STOPPED eventually.
Signed-off-by: Wesley Kuo <wesley.kuo@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
-rw-r--r-- | net/bluetooth/hci_core.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c index 4663c3d..c4802f3 100644 --- a/net/bluetooth/hci_core.c +++ b/net/bluetooth/hci_core.c @@ -2854,9 +2854,11 @@ static void le_scan_disable_work_complete(struct hci_dev *hdev, u8 status, * state. If we were running both LE and BR/EDR inquiry * simultaneously, and BR/EDR inquiry is already * finished, stop discovery, otherwise BR/EDR inquiry - * will stop discovery when finished. + * will stop discovery when finished. If we will resolve + * remote device name, do not change discovery state. */ - if (!test_bit(HCI_INQUIRY, &hdev->flags)) + if (!test_bit(HCI_INQUIRY, &hdev->flags) && + hdev->discovery.state != DISCOVERY_RESOLVING) hci_discovery_set_state(hdev, DISCOVERY_STOPPED); } else { |