diff --git a/drivers/char/drm/drm_drv.c b/drivers/char/drm/drm_drv.c
index 5714d7badc419a4c5e06b73aef436bdabf729372..c4fa5a29582b515fadbbd4aa5ec6ab1d98089722 100644
--- a/drivers/char/drm/drm_drv.c
+++ b/drivers/char/drm/drm_drv.c
@@ -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");
 }