Remove the unnecessary agent_destroy function
diff --git a/src/adapter.c b/src/adapter.c
index fec14dc..2e43662 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -1066,7 +1066,7 @@
 	agent = device_get_agent(device);
 
 	if (agent) {
-		agent_destroy(agent, FALSE);
+		agent_free(agent);
 		device_set_agent(device, NULL);
 	}
 
@@ -1684,7 +1684,7 @@
 				ERROR_INTERFACE ".DoesNotExist",
 				"No such agent");
 
-	agent_destroy(adapter->agent, FALSE);
+	agent_free(adapter->agent);
 	adapter->agent = NULL;
 
 	return dbus_message_new_method_return(msg);
@@ -2347,7 +2347,7 @@
 {
 	struct btd_adapter *adapter = user_data;
 
-	agent_destroy(adapter->agent, FALSE);
+	agent_free(adapter->agent);
 	adapter->agent = NULL;
 
 	debug("adapter_free(%p)", adapter);
diff --git a/src/agent.c b/src/agent.c
index a1ce021..df48587 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -139,10 +139,12 @@
 
 	debug("Agent exited without calling Unregister");
 
-	agent_destroy(agent, TRUE);
+	agent->exited = TRUE;
+
+	agent_free(agent);
 }
 
-static void agent_free(struct agent *agent)
+void agent_free(struct agent *agent)
 {
 	if (!agent)
 		return;
@@ -206,16 +208,6 @@
 	return agent;
 }
 
-int agent_destroy(struct agent *agent, gboolean exited)
-{
-	if (!agent)
-		return 0;
-
-	agent->exited = exited;
-	agent_free(agent);
-	return 0;
-}
-
 static struct agent_request *agent_request_new(struct agent *agent,
 						agent_request_type_t type,
 						void *cb,
diff --git a/src/agent.h b/src/agent.h
index 314baf9..2a2651d 100644
--- a/src/agent.h
+++ b/src/agent.h
@@ -39,7 +39,7 @@
 				const char *path, uint8_t capability,
 				agent_remove_cb cb, void *remove_cb_data);
 
-int agent_destroy(struct agent *agent, gboolean exited);
+void agent_free(struct agent *agent);
 
 int agent_authorize(struct agent *agent, const char *path,
 			const char *uuid, agent_cb cb, void *user_data,
diff --git a/src/device.c b/src/device.c
index 73b88cd..f52ff93 100644
--- a/src/device.c
+++ b/src/device.c
@@ -223,7 +223,7 @@
 	struct agent *agent = adapter_get_agent(adapter);
 
 	if (device->agent)
-		agent_destroy(device->agent, FALSE);
+		agent_free(device->agent);
 
 	if (agent && (agent_is_busy(agent, device) ||
 				agent_is_busy(agent, device->authr)))
@@ -1657,7 +1657,7 @@
 		return;
 
 	agent_cancel(device->agent);
-	agent_destroy(device->agent, FALSE);
+	agent_free(device->agent);
 	device->agent = NULL;
 }