Merge branch 'for-linus' of git://neil.brown.name/md
[deliverable/linux.git] / drivers / gpu / drm / drm_drv.c
index 510bc87d98f6f991e93e31d74affe90fd9986792..90288ec7c28420133d0deea13e3ba2f1f98d413c 100644 (file)
@@ -288,6 +288,7 @@ static int __init drm_core_init(void)
 {
        int ret = -ENOMEM;
 
+       drm_global_init();
        idr_init(&drm_minors_idr);
 
        if (register_chrdev(DRM_MAJOR, "drm", &drm_stub_fops))
@@ -335,6 +336,7 @@ static void __exit drm_core_exit(void)
 
        unregister_chrdev(DRM_MAJOR, "drm");
 
+       idr_remove_all(&drm_minors_idr);
        idr_destroy(&drm_minors_idr);
 }
 
@@ -479,9 +481,9 @@ long drm_ioctl(struct file *filp,
                if (ioctl->flags & DRM_UNLOCKED)
                        retcode = func(dev, kdata, file_priv);
                else {
-                       lock_kernel();
+                       mutex_lock(&drm_global_mutex);
                        retcode = func(dev, kdata, file_priv);
-                       unlock_kernel();
+                       mutex_unlock(&drm_global_mutex);
                }
 
                if (cmd & IOC_OUT) {
This page took 0.029176 seconds and 5 git commands to generate.