summaryrefslogtreecommitdiffstats
path: root/net/bluetooth
diff options
context:
space:
mode:
authorAndre Guedes <andre.guedes@openbossa.org>2012-03-01 18:19:57 -0300
committerJohan Hedberg <johan.hedberg@intel.com>2012-03-03 01:43:02 +0200
commit74fe619ef96466d562a1a13e7cbab783624ec2f3 (patch)
treeecd5aab7e52b86eddf8ab2461a8a9a4dab1694f0 /net/bluetooth
parent2b4bf3974249da74f4aef1e9180d4beaf6332515 (diff)
downloadlinux-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.c1
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)