[tip:x86/urgent] x86/agp: Fix amd64-agp module initialization regression

From: tip-bot for FUJITA Tomonori
Date: Thu Feb 04 2010 - 04:52:49 EST


Commit-ID: 06df6dafb5d9e3cfa3588c6ce79328b91582b6af
Gitweb: http://git.kernel.org/tip/06df6dafb5d9e3cfa3588c6ce79328b91582b6af
Author: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx>
AuthorDate: Thu, 4 Feb 2010 14:43:38 +0900
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Thu, 4 Feb 2010 07:27:26 +0100

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@xxxxxxxxxxx>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx>
Tested-by: Marin Mitov <mitov@xxxxxxxxxxx>
LKML-Reference: <20100204090802S.fujita.tomonori@xxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
---
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 34cf04e..fd50ead 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);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/