]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
Bluetooth: Periodic Inquiry and Discovery
authorAndre Guedes <andre.guedes@openbossa.org>
Fri, 4 Nov 2011 17:16:53 +0000 (14:16 -0300)
committerGustavo F. Padovan <padovan@profusion.mobi>
Mon, 7 Nov 2011 19:33:59 +0000 (17:33 -0200)
commit0663ddcced9d6cf9611bafa0d7736efd1dbd2e16
tree90f0ef4e574bf48b3077efe7e7e5b6a8c4bfd7a0
parentf2c0fbb67e609349cac79231f5babe979ad13b69
Bluetooth: Periodic Inquiry and Discovery

By using periodic inquiry command we're not able to detect correctly
when the controller has started inquiry.

Today we have this workaround in inquiry result event handler
to set the HCI_INQUIRY flag when it sees the first inquiry result
event. This workaround isn't enough because the device may be
performing an inquiry but the HCI_INQUIRY flag is not set. For
instance, if there is no device in range, no inquiry result event
is generated, consequently, the HCI_INQUIRY flags isn't set when
it should so.

We rely on HCI_INQUIRY flag to implement the discovery procedure
properly. So, as we aren't able to clear/set the HCI_INQUIRY flag
in a reliable manner, periodic inquiry events shouldn't change
the HCI_INQUIRY flag.

Thus, due to that issue and in order to keep compatibility with
userspace, periodic inquiry events shouldn't send mgmt discovering
events.

In future, we might track if periodic inquiry is enabled or not.
By tracking this state we'll be able to do some improvements in
Discovery such as failing MGMT_OP_START_DISCOVERY command in case
periodic inquiry is on. We can also send no mgmt_device_found
event if periodic inquiry is on.

Signed-off-by: Andre Guedes <andre.guedes@openbossa.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
net/bluetooth/hci_event.c