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 {
int type;
enum {
DISCOVERY_STOPPED,
DISCOVERY_STARTING,

View file

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

View file

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