drm: fixup initialisation of list heads and idr
authorDave Airlie <airlied@linux.ie>
Fri, 1 Jun 2007 09:00:24 +0000 (19:00 +1000)
committerDave Airlie <airlied@linux.ie>
Fri, 1 Jun 2007 09:00:24 +0000 (19:00 +1000)
linux-core/drm_fops.c
linux-core/drm_stub.c

index 9625d8f..e54d507 100644 (file)
@@ -79,12 +79,6 @@ static int drm_setup(drm_device_t * dev)
        drm_ht_create(&dev->magiclist, DRM_MAGIC_HASH_ORDER);
        INIT_LIST_HEAD(&dev->magicfree);
 
-       INIT_LIST_HEAD(&dev->ctxlist);
-       INIT_LIST_HEAD(&dev->vmalist);
-
-       INIT_LIST_HEAD(&dev->drwlist);
-       idr_init(&dev->drw_idr);
-       
        dev->sigdata.lock = NULL;
        init_waitqueue_head(&dev->lock.lock_queue);
        dev->queue_count = 0;
index bcbabf8..7b0a0f9 100644 (file)
@@ -60,7 +60,12 @@ static int drm_fill_in_dev(drm_device_t * dev, struct pci_dev *pdev,
 {
        int retcode;
 
+       INIT_LIST_HEAD(&dev->drwlist);
        INIT_LIST_HEAD(&dev->filelist);
+       INIT_LIST_HEAD(&dev->ctxlist);
+       INIT_LIST_HEAD(&dev->vmalist);
+       INIT_LIST_HEAD(&dev->maplist);
+
        spin_lock_init(&dev->count_lock);
        spin_lock_init(&dev->drw_lock);
        spin_lock_init(&dev->tasklet_lock);
@@ -71,6 +76,8 @@ static int drm_fill_in_dev(drm_device_t * dev, struct pci_dev *pdev,
        mutex_init(&dev->bm.init_mutex);
        mutex_init(&dev->bm.evict_mutex);
 
+       idr_init(&dev->drw_idr);
+       
        dev->pdev = pdev;
        dev->pci_device = pdev->device;
        dev->pci_vendor = pdev->vendor;
@@ -95,8 +102,6 @@ static int drm_fill_in_dev(drm_device_t * dev, struct pci_dev *pdev,
                return -ENOMEM;
        }
 
-       INIT_LIST_HEAD(&dev->maplist);
-
        /* the DRM has 6 counters */
        dev->counters = 6;
        dev->types[0] = _DRM_STAT_LOCK;