diff options
| author | Johan Hedberg <johan.hedberg@nokia.com> | 2008-12-01 01:56:51 +0200 | 
|---|---|---|
| committer | Johan Hedberg <johan.hedberg@nokia.com> | 2008-12-01 01:56:51 +0200 | 
| commit | f345d81fe368294091c4f87be1f80e2226ef4ce1 (patch) | |
| tree | 46e6f552fcd491dc5b1f482251c43c04f92d8dfb /src/adapter.c | |
| parent | 152a3cbd8f2ff8fbf7b0739adf0624ce430a9ee3 (diff) | |
Stop the security manager if we do a DEVDOWN in adapter_up
Diffstat (limited to 'src/adapter.c')
| -rw-r--r-- | src/adapter.c | 16 | 
1 files changed, 9 insertions, 7 deletions
| diff --git a/src/adapter.c b/src/adapter.c index 854e419f..0f427ef4 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -2512,7 +2512,7 @@ static int get_pairable_timeout(const char *src)  	return main_opts.pairto;  } -static void adapter_up(struct btd_adapter *adapter, int dd) +static int adapter_up(struct btd_adapter *adapter, int dd)  {  	char mode[14], srcaddr[18];  	int i; @@ -2555,9 +2555,7 @@ static void adapter_up(struct btd_adapter *adapter, int dd)  			else  				write_device_mode(&adapter->bdaddr, mode); -			adapter_up(adapter, dd); - -			return; +			return adapter_up(adapter, dd);  		}  	} else if (!g_str_equal(mode, "connectable") &&  			adapter->discov_timeout == 0) { @@ -2604,8 +2602,12 @@ proceed:  		adapter->initialized = TRUE;  	} -	if (dev_down) +	if (dev_down) {  		ioctl(dd, HCIDEVDOWN, adapter->dev_id); +		return 1; +	} + +	return 0;  }  int adapter_start(struct btd_adapter *adapter) @@ -2712,13 +2714,13 @@ setup:  		adapter->state &= ~STD_INQUIRY;  	adapter_setup(adapter, dd); -	adapter_up(adapter, dd); +	err = adapter_up(adapter, dd);  	hci_close_dev(dd);  	info("Adapter %s has been enabled", adapter->path); -	return 0; +	return err;  }  static void reply_pending_requests(struct btd_adapter *adapter) | 
