]> err.no Git - linux-2.6/blobdiff - drivers/char/drm/drm_context.c
drm: fix issue with contexts running out of RAM
[linux-2.6] / drivers / char / drm / drm_context.c
index bdd168d88f49b0ab6a0103f6c32b20e4fde46105..7a7bcef2aa84e4ac9d2ca9cfb3f627be59305cb8 100644 (file)
@@ -432,6 +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)) {
+                               DRM_DEBUG("Running out of ctxs or memory.\n");
+                               return -ENOMEM;
+                       }
                        dev->driver->context_ctor(dev, ctx.handle);
        }