drm/ttm: make sure dev_mapping is set-up for the first opener of the drm
authorDave Airlie <airlied@linux.ie>
Tue, 27 Mar 2007 07:59:30 +0000 (17:59 +1000)
committerDave Airlie <airlied@linux.ie>
Tue, 27 Mar 2007 07:59:30 +0000 (17:59 +1000)
This was causing an oops in my miniglx code to try and use a TTM-only setup.

linux-core/drm_fops.c

index 3521c09..d400a4d 100644 (file)
@@ -154,10 +154,13 @@ int drm_open(struct inode *inode, struct file *filp)
                spin_lock(&dev->count_lock);
                if (!dev->open_count++) {
                        spin_unlock(&dev->count_lock);
-                       return drm_setup(dev);
+                       retcode = drm_setup(dev);
+                       goto out;
                }
                spin_unlock(&dev->count_lock);
        }
+
+ out:
        mutex_lock(&dev->struct_mutex);
        BUG_ON((dev->dev_mapping != NULL) &&
               (dev->dev_mapping != inode->i_mapping));