From 14e7b4e9a3c868b3bded7b08488aac89210984a6 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Fri, 28 Oct 2005 13:55:29 +0000 Subject: Set inquiry mode only when its feature bit is present --- hcid/main.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/hcid/main.c b/hcid/main.c index d3d285da..ca123bb0 100644 --- a/hcid/main.c +++ b/hcid/main.c @@ -252,11 +252,25 @@ static void configure_device(int hdev) } /* Set inquiry mode */ - if ((device_opts->flags & (1 << HCID_SET_INQMODE)) && - (di.features[3] & LMP_RSSI_INQ)) { + if ((device_opts->flags & (1 << HCID_SET_INQMODE))) { write_inquiry_mode_cp cp; - cp.mode = device_opts->inqmode; + switch (device_opts->inqmode) { + case 2: + if (di.features[6] & LMP_EXT_INQ) { + cp.mode = 2; + break; + } + case 1: + if (di.features[3] & LMP_RSSI_INQ) { + cp.mode = 1; + break; + } + default: + cp.mode = 0; + break; + } + hci_send_cmd(s, OGF_HOST_CTL, OCF_WRITE_INQUIRY_MODE, WRITE_INQUIRY_MODE_CP_SIZE, &cp); } -- cgit