aboutsummaryrefslogtreecommitdiff
path: root/src/mm-manager.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-03-30 16:18:48 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-03-30 16:18:48 +0200
commitcfeebcd63a392eb27a44095efa83b3d487ee5f6d (patch)
treec34cf9bd6a6fbaddb0d17804e92fcd8fbbaf1673 /src/mm-manager.c
parent3094e3f26b3b369f4b29fe54a8c4692bb611014d (diff)
manager: no need to remove modems in idle
There is no problem in getting the modem removed just after finishing the disabling sequence.
Diffstat (limited to 'src/mm-manager.c')
-rw-r--r--src/mm-manager.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/src/mm-manager.c b/src/mm-manager.c
index 9f05e43f..7000f038 100644
--- a/src/mm-manager.c
+++ b/src/mm-manager.c
@@ -671,36 +671,14 @@ mm_manager_start (MMManager *manager)
mm_dbg ("Finished device scan...");
}
-typedef struct {
- MMManager *manager;
- MMBaseModem *modem;
-} RemoveInfo;
-
-static gboolean
-remove_disable_one (RemoveInfo *info)
-{
- remove_modem (info->manager, info->modem);
- g_free (info);
- return FALSE;
-}
-
static void
remove_disable_ready (MMBaseModem *modem,
GAsyncResult *res,
MMManager *self)
{
- RemoveInfo *info;
-
/* We don't care about errors disabling at this point */
mm_base_modem_disable_finish (modem, res, NULL);
-
- /* Schedule modem removal from an idle handler since we get here deep
- * in the modem removal callchain and can't remove it quite yet from here.
- */
- info = g_malloc0 (sizeof (RemoveInfo));
- info->manager = self;
- info->modem = modem;
- g_idle_add ((GSourceFunc)remove_disable_one, info);
+ remove_modem (self, modem);
}
static void