summaryrefslogtreecommitdiff
path: root/linux-core/drm_stub.c
diff options
context:
space:
mode:
authorJon Smirl <jonsmirl@yahoo.com>2005-06-23 05:29:16 +0000
committerJon Smirl <jonsmirl@yahoo.com>2005-06-23 05:29:16 +0000
commit7586a655fc7d8e89a4fe37ec7926f4fbc13f358d (patch)
treed37a1052907b7ee29e0f010b40321693a3429864 /linux-core/drm_stub.c
parent4152605ea174291f469c0c8a6fc433fd90194e71 (diff)
Fix drm_memory_debug.c to compile, doesn't seem to be working Clean up
error return path in drm_stub.c
Diffstat (limited to 'linux-core/drm_stub.c')
-rw-r--r--linux-core/drm_stub.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/linux-core/drm_stub.c b/linux-core/drm_stub.c
index 2f9a2c32..d7baeb84 100644
--- a/linux-core/drm_stub.c
+++ b/linux-core/drm_stub.c
@@ -225,7 +225,6 @@ int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
pci_enable_device(pdev);
}
if ((ret = fill_in_dev(dev, pdev, ent, driver))) {
- printk(KERN_ERR "DRM: Fill_in_dev failed.\n");
goto err_g1;
}
if ((ret = drm_get_head(dev, &dev->primary)))
@@ -234,10 +233,12 @@ int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent,
/* postinit is a required function to display the signon banner */
/* drivers add secondary heads here if needed */
if ((ret = dev->driver->postinit(dev, ent->driver_data)))
- goto err_g1;
+ goto err_g2;
return 0;
+err_g2:
+ drm_put_head(&dev->primary);
err_g1:
if (!drm_fb_loaded) {
pci_set_drvdata(pdev, NULL);
@@ -245,6 +246,7 @@ err_g1:
pci_disable_device(pdev);
}
drm_free(dev, sizeof(*dev), DRM_MEM_STUB);
+ printk(KERN_ERR "DRM: drm_get_dev failed.\n");
return ret;
}
EXPORT_SYMBOL(drm_get_dev);