summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2016-03-27 21:52:46 +0200
committerAleksander Morgado <aleksander@aleksander.es>2016-03-27 21:53:03 +0200
commit55408e8b946b4db77096d1ad403102823e1e6e25 (patch)
treede1027388de4a9de68583edc929baeff34a37e3d
parentf156ec06fb74d2401ab7147c0977e4fdff20eb52 (diff)
downloadModemManager-55408e8b946b4db77096d1ad403102823e1e6e25.tar.gz
device: port probe may be in the ignored list
-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);
}