Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PATCH] x86/agp: fix agp_amd64_init module initialization regression

0 views
Skip to first unread message

FUJITA Tomonori

unread,
Feb 3, 2010, 7:20:01 PM2/3/10
to
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 there is still a problem in the module initialization;
when apg_amd64 is built as a module, the GART IOMMU is not still
initialized.

Reported-by: Marin Mitov <mi...@issp.bas.bg>
Signed-off-by: FUJITA Tomonori <fujita....@lab.ntt.co.jp>
Tested-by: Marin Mitov <mi...@issp.bas.bg>
---
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);
--
1.5.6.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

tip-bot for FUJITA Tomonori

unread,
Feb 4, 2010, 5:00:03 AM2/4/10
to
Commit-ID: 06df6dafb5d9e3cfa3588c6ce79328b91582b6af
Gitweb: http://git.kernel.org/tip/06df6dafb5d9e3cfa3588c6ce79328b91582b6af
Author: FUJITA Tomonori <fujita....@lab.ntt.co.jp>
AuthorDate: Thu, 4 Feb 2010 14:43:38 +0900
Committer: Ingo Molnar <mi...@elte.hu>
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 <mi...@issp.bas.bg>
Signed-off-by: FUJITA Tomonori <fujita....@lab.ntt.co.jp>
Tested-by: Marin Mitov <mi...@issp.bas.bg>

LKML-Reference: <20100204090802S...@lab.ntt.co.jp>
Signed-off-by: Ingo Molnar <mi...@elte.hu>


---
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);
--

0 new messages