diff options
author | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2010-02-04 00:43:38 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-02-04 01:27:26 -0500 |
commit | 06df6dafb5d9e3cfa3588c6ce79328b91582b6af (patch) | |
tree | 561bc434deee6e6f78cf94bdd9b63cf35203838d /drivers/char/agp/amd64-agp.c | |
parent | ab09809f2eee1dc2d8f8bea636e77d176ba6c648 (diff) |
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/agp/amd64-agp.c')
-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) | |||
767 | 767 | ||
768 | static int __init agp_amd64_mod_init(void) | 768 | static int __init agp_amd64_mod_init(void) |
769 | { | 769 | { |
770 | #ifndef MODULE | ||
770 | if (gart_iommu_aperture) | 771 | if (gart_iommu_aperture) |
771 | return agp_bridges_found ? 0 : -ENODEV; | 772 | return agp_bridges_found ? 0 : -ENODEV; |
772 | 773 | #endif | |
773 | return agp_amd64_init(); | 774 | return agp_amd64_init(); |
774 | } | 775 | } |
775 | 776 | ||
776 | static void __exit agp_amd64_cleanup(void) | 777 | static void __exit agp_amd64_cleanup(void) |
777 | { | 778 | { |
779 | #ifndef MODULE | ||
778 | if (gart_iommu_aperture) | 780 | if (gart_iommu_aperture) |
779 | return; | 781 | return; |
782 | #endif | ||
780 | if (aperture_resource) | 783 | if (aperture_resource) |
781 | release_resource(aperture_resource); | 784 | release_resource(aperture_resource); |
782 | pci_unregister_driver(&agp_amd64_pci_driver); | 785 | pci_unregister_driver(&agp_amd64_pci_driver); |