drm: cleanup properly on drm module unload
authorDave Airlie <airlied@starflyer.(none)>
Wed, 11 Jan 2006 11:32:51 +0000 (22:32 +1100)
committerDave Airlie <airlied@linux.ie>
Wed, 11 Jan 2006 11:32:51 +0000 (22:32 +1100)
Cleanup multiple cards properly

Signed-off-by: Dave Airlie <airlied@linux.ie>
drivers/char/drm/drm_drv.c

index 5714d7badc419a4c5e06b73aef436bdabf729372..c4fa5a29582b515fadbbd4aa5ec6ab1d98089722 100644 (file)
@@ -342,12 +342,12 @@ void drm_exit(struct drm_driver *driver)
                if (head->dev->driver != driver)
                        continue;
                dev = head->dev;
-       }
-       if (dev) {
-               /* release the pci driver */
-               if (dev->pdev)
-                       pci_dev_put(dev->pdev);
-               drm_cleanup(dev);
+               if (dev) {
+                       /* release the pci driver */
+                       if (dev->pdev)
+                               pci_dev_put(dev->pdev);
+                       drm_cleanup(dev);
+               }
        }
        DRM_INFO("Module unloaded\n");
 }