When |admin_policy_remove| is called, we set |devices| to NULL but never
set it back until |admin_init|. This makes admin lost track of current
registered device interface, so the next |admin_policy_removed| will not
be able to unregister those interfaces.
Reviewed-by: Archie Pusaka <apusaka@chromium.org>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
{
const char *adapter_path;
+ if (!devices)
+ devices = queue_new();
+
if (policy_data) {
btd_warn(policy_data->adapter_id,
"Policy data already exists");
DBG("");
dbus_conn = btd_get_dbus_connection();
- devices = queue_new();
return btd_register_adapter_driver(&admin_policy_driver);
}