diff --git a/src/adapter.c b/src/adapter.c
index 562b660..cc9704f 100644
--- a/src/adapter.c
+++ b/src/adapter.c
return btd_adapter_ref(adapter);
}
-int adapter_unregister(int id)
+static int adapter_unregister(struct btd_adapter *adapter)
{
- struct btd_adapter *adapter;
-
- adapter = adapter_find_by_id(id);
- if (!adapter)
- return -ENOENT;
-
DBG("Unregister path: %s", adapter->path);
adapters = g_slist_remove(adapters, adapter);
warn("mgmt_index_removed for a non-existent adapter");
return;
}
+
+ adapter_unregister(adapter);
}
static void read_index_list_complete(uint16_t index, uint8_t status,
diff --git a/src/adapter.h b/src/adapter.h
index 7761efb..73b356f 100644
--- a/src/adapter.h
+++ b/src/adapter.h
struct btd_adapter *adapter_find_by_id(int id);
struct btd_adapter *adapter_get_default(void);
void adapter_foreach(adapter_cb func, gpointer user_data);
-int adapter_unregister(int id);
void btd_adapter_start(struct btd_adapter *adapter);
diff --git a/src/mgmt.c b/src/mgmt.c
index 2ea89e1..caaf2f6 100644
--- a/src/mgmt.c
+++ b/src/mgmt.c
DBG("Removing controller %u", index);
- adapter_unregister(index);
-
g_slist_free_full(controllers[index].pending_uuids, g_free);
controllers[index].pending_uuids = NULL;