aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mm-device.c6
-rw-r--r--src/mm-device.h1
-rw-r--r--src/mm-plugin.c2
3 files changed, 9 insertions, 0 deletions
diff --git a/src/mm-device.c b/src/mm-device.c
index 22e7dc2b..af2332f6 100644
--- a/src/mm-device.c
+++ b/src/mm-device.c
@@ -698,6 +698,12 @@ mm_device_get_hotplugged (MMDevice *self)
return self->priv->hotplugged;
}
+void
+mm_device_reset_hotplugged (MMDevice *self)
+{
+ self->priv->hotplugged = FALSE;
+}
+
gboolean
mm_device_get_inhibited (MMDevice *self)
{
diff --git a/src/mm-device.h b/src/mm-device.h
index 5426ef17..70c7ada4 100644
--- a/src/mm-device.h
+++ b/src/mm-device.h
@@ -107,6 +107,7 @@ GObject *mm_device_get_plugin (MMDevice *self);
MMBaseModem *mm_device_peek_modem (MMDevice *self);
MMBaseModem *mm_device_get_modem (MMDevice *self);
gboolean mm_device_get_hotplugged (MMDevice *self);
+void mm_device_reset_hotplugged (MMDevice *self);
gboolean mm_device_get_inhibited (MMDevice *self);
GObject *mm_device_peek_port_probe (MMDevice *self,
diff --git a/src/mm-plugin.c b/src/mm-plugin.c
index 4ec043a3..8efc24cf 100644
--- a/src/mm-plugin.c
+++ b/src/mm-plugin.c
@@ -962,6 +962,8 @@ mm_plugin_create_modem (MMPlugin *self,
return NULL;
mm_base_modem_set_hotplugged (modem, mm_device_get_hotplugged (device));
+ /* Reset hotplugged flag to guarantee full reconfiguration on next probe */
+ mm_device_reset_hotplugged (device);
if (port_probes) {
GList *l;