Bluetooth: Track discovery type

This patch adds to struct discovery_state the field 'type' so that
we can track the discovery type the device is performing.

Signed-off-by: Andre Guedes <andre.guedes@openbossa.org>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
Andre Guedes
2012-02-17 20:39:36 -03:00
committed by Johan Hedberg
parent f39799f504
commit 4aab14e550
3 changed files with 6 additions and 1 deletions

View File

@@ -57,6 +57,7 @@ struct inquiry_entry {
}; };
struct discovery_state { struct discovery_state {
int type;
enum { enum {
DISCOVERY_STOPPED, DISCOVERY_STOPPED,
DISCOVERY_STARTING, DISCOVERY_STARTING,

View File

@@ -380,6 +380,8 @@ void hci_discovery_set_state(struct hci_dev *hdev, int state)
switch (state) { switch (state) {
case DISCOVERY_STOPPED: case DISCOVERY_STOPPED:
hdev->discovery.type = 0;
if (hdev->discovery.state != DISCOVERY_STARTING) if (hdev->discovery.state != DISCOVERY_STARTING)
mgmt_discovering(hdev, 0); mgmt_discovering(hdev, 0);
break; break;

View File

@@ -2192,7 +2192,9 @@ static int start_discovery(struct sock *sk, u16 index,
goto failed; goto failed;
} }
switch (cp->type) { hdev->discovery.type = cp->type;
switch (hdev->discovery.type) {
case DISCOV_TYPE_BREDR: case DISCOV_TYPE_BREDR:
case DISCOV_TYPE_INTERLEAVED: case DISCOV_TYPE_INTERLEAVED:
err = hci_do_inquiry(hdev, INQUIRY_LEN_BREDR); err = hci_do_inquiry(hdev, INQUIRY_LEN_BREDR);