diff options
author | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2010-02-04 14:43:38 +0900 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-02-04 07:27:26 +0100 |
commit | 06df6dafb5d9e3cfa3588c6ce79328b91582b6af (patch) | |
tree | 561bc434deee6e6f78cf94bdd9b63cf35203838d /drivers/char | |
parent | ab09809f2eee1dc2d8f8bea636e77d176ba6c648 (diff) | |
download | linux-06df6dafb5d9e3cfa3588c6ce79328b91582b6af.tar.bz2 |
x86/agp: Fix amd64-agp module initialization regression
This fixes the regression introduced by commit
42590a75019a50012f25a962246498dead428433 ("x86/agp: Fix
agp_amd64_init and agp_amd64_cleanup").
The commit 61684ceaad4f65d1a9832c722f7bd5e7fc714de9 fixed the
above regression but it's not enough. When amd64-agp is built as
a module, AGP isn't initialized, iommu is initialized, all the
aperture is owned by the iommu.
Reported-by: Marin Mitov <mitov@issp.bas.bg>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Tested-by: Marin Mitov <mitov@issp.bas.bg>
LKML-Reference: <20100204090802S.fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/agp/amd64-agp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c index 34cf04e21795..fd50ead59c79 100644 --- a/drivers/char/agp/amd64-agp.c +++ b/drivers/char/agp/amd64-agp.c @@ -767,16 +767,19 @@ int __init agp_amd64_init(void) static int __init agp_amd64_mod_init(void) { +#ifndef MODULE if (gart_iommu_aperture) return agp_bridges_found ? 0 : -ENODEV; - +#endif return agp_amd64_init(); } static void __exit agp_amd64_cleanup(void) { +#ifndef MODULE if (gart_iommu_aperture) return; +#endif if (aperture_resource) release_resource(aperture_resource); pci_unregister_driver(&agp_amd64_pci_driver); |