summaryrefslogtreecommitdiff
path: root/src/mm-device.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-device.c')
-rw-r--r--src/mm-device.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mm-device.c b/src/mm-device.c
index 666b6a730..2456cc876 100644
--- a/src/mm-device.c
+++ b/src/mm-device.c
@@ -347,8 +347,13 @@ mm_device_release_port (MMDevice *self,
probe = device_find_probe_with_device (self, udev_port, TRUE);
if (probe) {
- /* Found, remove from list and destroy probe */
- self->priv->port_probes = g_list_remove (self->priv->port_probes, probe);
+ /* Found, remove from lists and destroy probe */
+ if (g_list_find (self->priv->port_probes, probe))
+ self->priv->port_probes = g_list_remove (self->priv->port_probes, probe);
+ else if (g_list_find (self->priv->ignored_port_probes, probe))
+ self->priv->ignored_port_probes = g_list_remove (self->priv->ignored_port_probes, probe);
+ else
+ g_assert_not_reached ();
g_signal_emit (self, signals[SIGNAL_PORT_RELEASED], 0, mm_port_probe_peek_port (probe));
g_object_unref (probe);
}