From 6f675b3148fd7f94ed8083e8d87742c9aab0f6b7 Mon Sep 17 00:00:00 2001 From: Andrzej Zaborowski Date: Thu, 10 Sep 2009 18:57:11 +0200 Subject: [PATCH] Keep modem->powered_pending up to date after set_powered. Without this once a request to power up the modem fails, modem.c won't retry even when asked. --- src/modem.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/modem.c b/src/modem.c index ed6f870b..5e6e582a 100644 --- a/src/modem.c +++ b/src/modem.c @@ -462,6 +462,11 @@ static int set_powered(struct ofono_modem *modem, ofono_bool_t powered) err = driver->disable(modem); } + if (err == 0) + modem->powered = powered; + else if (err != EINPROGRESS) + modem->powered_pending = modem->powered; + return err; } @@ -472,6 +477,7 @@ static gboolean set_powered_timeout(gpointer user) DBG("modem: %p", modem); modem->timeout = 0; + modem->powered_pending = modem->powered; if (modem->pending != NULL) { DBusMessage *reply; @@ -530,9 +536,6 @@ static DBusMessage *modem_set_property(DBusConnection *conn, return NULL; } - modem->powered = powered; - modem->powered_pending = powered; - g_dbus_send_reply(conn, msg, DBUS_TYPE_INVALID); ofono_dbus_signal_property_changed(conn, modem->path,