summaryrefslogtreecommitdiffstats
path: root/hcid/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'hcid/main.c')
-rw-r--r--hcid/main.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/hcid/main.c b/hcid/main.c
index 5f05543b..722a3b15 100644
--- a/hcid/main.c
+++ b/hcid/main.c
@@ -289,7 +289,7 @@ static void configure_device(int hdev)
/* Set scan mode */
if (!read_device_mode(&di.bdaddr, mode, sizeof(mode))) {
- if (!strcmp(mode, MODE_OFF))
+ if (!strcmp(mode, MODE_OFF) && hcid.offmode == HCID_OFFMODE_NOSCAN)
device_opts->scan = SCAN_DISABLED;
else if (!strcmp(mode, MODE_CONNECTABLE))
device_opts->scan = SCAN_PAGE;
@@ -302,12 +302,10 @@ static void configure_device(int hdev)
}
}
- if (!(hcid.offmode == HCID_OFFMODE_DEVDOWN && !strcmp(mode, MODE_OFF))) {
- dr.dev_opt = device_opts->scan;
- if (ioctl(s, HCISETSCAN, (unsigned long) &dr) < 0) {
- error("Can't set scan mode on hci%d: %s (%d)",
- hdev, strerror(errno), errno);
- }
+ dr.dev_opt = device_opts->scan;
+ if (ioctl(s, HCISETSCAN, (unsigned long) &dr) < 0) {
+ error("Can't set scan mode on hci%d: %s (%d)",
+ hdev, strerror(errno), errno);
}
/* Set device name */