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.
This commit is contained in:
Andrzej Zaborowski 2009-09-10 18:57:11 +02:00 committed by Denis Kenzior
parent ac5603d225
commit 6f675b3148
1 changed files with 6 additions and 3 deletions

View File

@ -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,