summaryrefslogtreecommitdiffstats
path: root/drivers/char
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-02-23 15:51:26 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2011-02-23 15:51:26 -0800
commitb5f7376eb30538d03dd27f6a59b5b2d28587967c (patch)
tree52c6dfec1e3002db5ff43e428b3ced4e143c391a /drivers/char
parent57949e8006de9643ac95447143e0211be3ff5f81 (diff)
parent49495d44dfa4ba76cf7d1ed8fe84746dd9552255 (diff)
Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: amd64-agp: fix crash at second module load drm/radeon: fix regression with AA resolve checking drm: drop commented out code and preceding comment drm/vblank: Enable precise vblank timestamps for interlaced and doublescan modes. drm/vblank: Use memory barriers optimized for atomic_t instead of generics. drm/vblank: Use abs64(diff_ns) for s64 diff_ns instead of abs(diff_ns) drm/radeon/kms: align height of fb allocation. Revert "drm/radeon/kms: switch back to min->max pll post divider iteration"
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/agp/amd64-agp.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c
index 9252e85706e..780498d7658 100644
--- a/drivers/char/agp/amd64-agp.c
+++ b/drivers/char/agp/amd64-agp.c
@@ -773,18 +773,23 @@ int __init agp_amd64_init(void)
#else
printk(KERN_INFO PFX "You can boot with agp=try_unsupported\n");
#endif
+ pci_unregister_driver(&agp_amd64_pci_driver);
return -ENODEV;
}
/* First check that we have at least one AMD64 NB */
- if (!pci_dev_present(amd_nb_misc_ids))
+ if (!pci_dev_present(amd_nb_misc_ids)) {
+ pci_unregister_driver(&agp_amd64_pci_driver);
return -ENODEV;
+ }
/* Look for any AGP bridge */
agp_amd64_pci_driver.id_table = agp_amd64_pci_promisc_table;
err = driver_attach(&agp_amd64_pci_driver.driver);
- if (err == 0 && agp_bridges_found == 0)
+ if (err == 0 && agp_bridges_found == 0) {
+ pci_unregister_driver(&agp_amd64_pci_driver);
err = -ENODEV;
+ }
}
return err;
}