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; |