drm: proper fix for drm_context
[safe/jmp/linux-2.6] / drivers / char / drm / drm_context.c
index 7a7bcef..f842545 100644 (file)
@@ -432,11 +432,10 @@ int drm_addctx(struct inode *inode, struct file *filp,
 
        if (ctx.handle != DRM_KERNEL_CONTEXT) {
                if (dev->driver->context_ctor)
-                       if (dev->driver->context_ctor(dev, ctx.handle)) {
+                       if (!dev->driver->context_ctor(dev, ctx.handle)) {
                                DRM_DEBUG("Running out of ctxs or memory.\n");
                                return -ENOMEM;
                        }
-                       dev->driver->context_ctor(dev, ctx.handle);
        }
 
        ctx_entry = drm_alloc(sizeof(*ctx_entry), DRM_MEM_CTXLIST);