diff options
| author | Luiz Augusto von Dentz <luiz.dentz@openbossa.org> | 2009-02-17 18:25:00 -0300 | 
|---|---|---|
| committer | Johan Hedberg <johan.hedberg@nokia.com> | 2009-02-19 09:19:38 +0200 | 
| commit | b075dea3ec7acbd0aae170c21e1c6a857d8250e8 (patch) | |
| tree | 702343f3736ae21a426c8d1fa538883dcf778640 | |
| parent | 501b5d1a8afbaa56761dd5473e8d5169997b71dd (diff) | |
Log probe failures.
| -rw-r--r-- | src/adapter.c | 31 | 
1 files changed, 18 insertions, 13 deletions
diff --git a/src/adapter.c b/src/adapter.c index 93db68bd..e106ae11 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -1904,6 +1904,20 @@ static void load_devices(struct btd_adapter *adapter)  								adapter);  } +static void probe_driver(gpointer data, gpointer user_data) +{ +	struct btd_adapter *adapter = data; +	struct btd_adapter_driver *driver = user_data; +	int err; + +	if (!adapter->up) +		return; + +	err = driver->probe(adapter); +	if (err < 0) +		error("%s: %s (%d)", driver->name, strerror(-err), -err); +} +  static void load_drivers(struct btd_adapter *adapter)  {  	GSList *l; @@ -1911,8 +1925,10 @@ static void load_drivers(struct btd_adapter *adapter)  	for (l = adapter_drivers; l; l = l->next) {  		struct btd_adapter_driver *driver = l->data; -		if (driver->probe) -			driver->probe(adapter); +		if (driver->probe == NULL) +			continue; + +		probe_driver(adapter, driver);  	}  } @@ -2731,17 +2747,6 @@ gboolean adapter_has_discov_sessions(struct btd_adapter *adapter)  	return TRUE;  } -static void probe_driver(gpointer data, gpointer user_data) -{ -	struct btd_adapter *adapter = data; -	struct btd_adapter_driver *driver = user_data; - -	if (!adapter->up) -		return; - -	driver->probe(adapter); -} -  int btd_register_adapter_driver(struct btd_adapter_driver *driver)  {  	GSList *adapters;  | 
