diff options
| -rw-r--r-- | hcid/main.c | 12 | 
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 */ | 
