diff options
Diffstat (limited to 'src/modem.c')
-rw-r--r-- | src/modem.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/modem.c b/src/modem.c index d1886c94..13c6e608 100644 --- a/src/modem.c +++ b/src/modem.c @@ -677,6 +677,9 @@ static DBusMessage *set_property_online(struct ofono_modem *modem, if (modem->online == online) return dbus_message_new_method_return(msg); + if (ofono_modem_get_emergency_mode(modem) == TRUE) + return __ofono_error_emergency_active(msg); + if (driver->set_online == NULL) return __ofono_error_not_implemented(msg); @@ -922,6 +925,9 @@ static DBusMessage *set_property_lockdown(struct ofono_modem *modem, goto done; } + if (ofono_modem_get_emergency_mode(modem) == TRUE) + return __ofono_error_emergency_active(msg); + modem->lock_owner = g_strdup(caller); modem->lock_watch = g_dbus_add_disconnect_watch(conn, @@ -1012,6 +1018,9 @@ static DBusMessage *modem_set_property(DBusConnection *conn, if (modem->powered == powered) return dbus_message_new_method_return(msg); + if (ofono_modem_get_emergency_mode(modem) == TRUE) + return __ofono_error_emergency_active(msg); + if (modem->lockdown) return __ofono_error_access_denied(msg); |