From b075dea3ec7acbd0aae170c21e1c6a857d8250e8 Mon Sep 17 00:00:00 2001 From: Luiz Augusto von Dentz Date: Tue, 17 Feb 2009 18:25:00 -0300 Subject: Log probe failures. --- src/adapter.c | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) (limited to 'src') 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; -- cgit