diff options
author | Andre Guedes <andre.guedes@openbossa.org> | 2012-03-01 18:19:57 -0300 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@intel.com> | 2012-03-03 01:43:02 +0200 |
commit | 74fe619ef96466d562a1a13e7cbab783624ec2f3 (patch) | |
tree | ecd5aab7e52b86eddf8ab2461a8a9a4dab1694f0 /net/bluetooth | |
parent | 2b4bf3974249da74f4aef1e9180d4beaf6332515 (diff) | |
download | linux-stable-74fe619ef96466d562a1a13e7cbab783624ec2f3.tar.gz linux-stable-74fe619ef96466d562a1a13e7cbab783624ec2f3.tar.bz2 linux-stable-74fe619ef96466d562a1a13e7cbab783624ec2f3.zip |
Bluetooth: Don't force DISCOVERY_STOPPED state in inquiry_cache_flush
We are not supposed to force DISCOVERY_STOPPED in inquiry_cache_flush
because we may break the discovery state machine. For instance, during
interleaved discovery, when we are about to start inquiry, the state
machine forcibly goes to DISCOVERY_STOPPED while it should stay in
DISCOVERY_FINDING state.
This problem results in unexpected behaviors such as sending two
mgmt_discovering events to userspace (when only one event is expected)
and Stop Discovery failures.
Signed-off-by: Andre Guedes <andre.guedes@openbossa.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Diffstat (limited to 'net/bluetooth')
-rw-r--r-- | net/bluetooth/hci_core.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c index d3ddc0ba9cd4..661d65fc487b 100644 --- a/net/bluetooth/hci_core.c +++ b/net/bluetooth/hci_core.c @@ -413,7 +413,6 @@ static void inquiry_cache_flush(struct hci_dev *hdev) INIT_LIST_HEAD(&cache->unknown); INIT_LIST_HEAD(&cache->resolve); - cache->state = DISCOVERY_STOPPED; } struct inquiry_entry *hci_inquiry_cache_lookup(struct hci_dev *hdev, bdaddr_t *bdaddr) |