diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2016-03-27 21:52:46 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2016-03-27 21:53:03 +0200 |
commit | 55408e8b946b4db77096d1ad403102823e1e6e25 (patch) | |
tree | de1027388de4a9de68583edc929baeff34a37e3d | |
parent | f156ec06fb74d2401ab7147c0977e4fdff20eb52 (diff) | |
download | ModemManager-55408e8b946b4db77096d1ad403102823e1e6e25.tar.gz |
device: port probe may be in the ignored list
-rw-r--r-- | src/mm-device.c | 9 |
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); } |