summaryrefslogtreecommitdiffstats
path: root/serial
diff options
context:
space:
mode:
Diffstat (limited to 'serial')
-rw-r--r--serial/manager.c6
-rw-r--r--serial/port.c13
-rw-r--r--serial/port.h2
3 files changed, 7 insertions, 14 deletions
diff --git a/serial/manager.c b/serial/manager.c
index 60aa78e5..13968c09 100644
--- a/serial/manager.c
+++ b/serial/manager.c
@@ -107,13 +107,13 @@ static int serial_probe(struct btd_device *device, const char *uuid)
return port_register(connection, path, &src, &dst, uuid, ch);
}
-static void serial_remove(struct btd_device *device, const char *uuid)
+static void serial_remove(struct btd_device *device)
{
const gchar *path = device_get_path(device);
DBG("path %s", path);
- port_unregister(path, uuid);
+ port_unregister(path);
}
@@ -129,7 +129,7 @@ static int port_probe(struct btd_device *device, GSList *uuids)
static void port_remove(struct btd_device *device)
{
- return serial_remove(device, SERIAL_PORT_UUID);
+ return serial_remove(device);
}
static struct btd_device_driver serial_port_driver = {
diff --git a/serial/port.c b/serial/port.c
index 1f62b5e4..911c777e 100644
--- a/serial/port.c
+++ b/serial/port.c
@@ -463,23 +463,16 @@ int port_register(DBusConnection *conn, const char *path, bdaddr_t *src,
return 0;
}
-int port_unregister(const char *path, const char *uuid)
+int port_unregister(const char *path)
{
struct serial_device *device;
- struct serial_port *port;
device = find_device(devices, path);
if (!device)
return -ENOENT;
- port = find_port(device->ports, uuid);
- if (!port)
- return -ENOENT;
-
- device->ports = g_slist_remove(device->ports, port);
- serial_port_free(port);
- if (device->ports)
- return 0;
+ g_slist_foreach(device->ports, (GFunc) serial_port_free, NULL);
+ g_slist_free(device->ports);
g_dbus_unregister_interface(device->conn, path, SERIAL_PORT_INTERFACE);
diff --git a/serial/port.h b/serial/port.h
index 6002ae02..9665dc9d 100644
--- a/serial/port.h
+++ b/serial/port.h
@@ -26,4 +26,4 @@ void port_release_all(void);
int port_register(DBusConnection *conn, const char *path, bdaddr_t *src,
bdaddr_t *dst, const char *name, uint8_t channel);
-int port_unregister(const char *path, const char *uuid);
+int port_unregister(const char *path);