Fix from SuSE for issue with context creation failure
authorDave Airlie <airlied@linux.ie>
Sun, 4 Dec 2005 01:24:23 +0000 (01:24 +0000)
committerDave Airlie <airlied@linux.ie>
Sun, 4 Dec 2005 01:24:23 +0000 (01:24 +0000)
linux-core/drm_context.c

index 5947c8e..b8702e6 100644 (file)
@@ -431,7 +431,10 @@ int drm_addctx(struct inode *inode, struct file *filp,
 
        if (ctx.handle != DRM_KERNEL_CONTEXT) {
                if (dev->driver->context_ctor)
-                       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;
+                       }
        }
 
        ctx_entry = drm_alloc(sizeof(*ctx_entry), DRM_MEM_CTXLIST);