HFP modem will be registered when Proxy Added callback gets called or when Pair is True. This patch removes the support for dynamic modem registration when a new connection is notified and there isn't a modem associated with the Bluetooth remote device.
BlueZ behaviour has been changed and a NewConnection is not notified before the service discovery finishes. --- plugins/hfp_hf_bluez5.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/plugins/hfp_hf_bluez5.c b/plugins/hfp_hf_bluez5.c index ff4dbad..d2f3abb 100644 --- a/plugins/hfp_hf_bluez5.c +++ b/plugins/hfp_hf_bluez5.c @@ -270,10 +270,8 @@ static DBusMessage *profile_new_connection(DBusConnection *conn, { struct hfp *hfp; struct ofono_modem *modem; - DBusMessageIter iter; - GDBusProxy *proxy; DBusMessageIter entry; - const char *device, *alias, *address; + const char *device; int fd, err; DBG("Profile handler NewConnection"); @@ -286,21 +284,6 @@ static DBusMessage *profile_new_connection(DBusConnection *conn, dbus_message_iter_get_basic(&entry, &device); - proxy = g_hash_table_lookup(devices_proxies, device); - if (proxy == NULL) - return g_dbus_create_error(msg, BLUEZ_ERROR_INTERFACE - ".Rejected", - "Unknown Bluetooth device"); - - g_dbus_proxy_get_property(proxy, "Alias", &iter); - - dbus_message_iter_get_basic(&iter, &alias); - - if (g_dbus_proxy_get_property(proxy, "Address", &iter) == FALSE) - goto invalid; - - dbus_message_iter_get_basic(&iter, &address); - dbus_message_iter_next(&entry); if (dbus_message_iter_get_arg_type(&entry) != DBUS_TYPE_UNIX_FD) goto invalid; @@ -309,12 +292,12 @@ static DBusMessage *profile_new_connection(DBusConnection *conn, if (fd < 0) goto invalid; - modem = modem_register(device, address, alias); + modem = g_hash_table_lookup(modem_hash, device); if (modem == NULL) { close(fd); return g_dbus_create_error(msg, BLUEZ_ERROR_INTERFACE ".Rejected", - "Could not register HFP modem"); + "Unknown Bluetooth device"); } err = service_level_connection(modem, fd, HFP_VERSION_LATEST); -- 1.7.11.7 _______________________________________________ ofono mailing list ofono@ofono.org http://lists.ofono.org/listinfo/ofono