Fix: Fail if no driver or id range set
authorDenis Kenzior <denkenz@gmail.com>
Thu, 7 Jan 2010 19:25:32 +0000 (13:25 -0600)
committerDenis Kenzior <denkenz@gmail.com>
Thu, 7 Jan 2010 19:25:32 +0000 (13:25 -0600)
src/gprs.c

index a80c2d6..58f4a4a 100644 (file)
@@ -650,6 +650,11 @@ static DBusMessage *pri_set_property(DBusConnection *conn,
        if (g_str_equal(property, "Active")) {
                struct ofono_gprs_context *gc = ctx->gprs->context_driver;
 
+               if (gc == NULL || gc->driver->activate_primary == NULL ||
+                               gc->driver->deactivate_primary == NULL ||
+                               ctx->gprs->cid_map == NULL)
+                       return __ofono_error_not_implemented(msg);
+
                if (gc->pending)
                        return __ofono_error_busy(msg);
 
@@ -667,10 +672,6 @@ static DBusMessage *pri_set_property(DBusConnection *conn,
                if (ctx->gprs->flags & GPRS_FLAG_ATTACHING)
                        return __ofono_error_attach_in_progress(msg);
 
-               if (gc == NULL || gc->driver->activate_primary == NULL ||
-                               gc->driver->deactivate_primary == NULL)
-                       return __ofono_error_not_implemented(msg);
-
                if (value) {
                        ctx->context.cid = gprs_cid_alloc(ctx->gprs);