lkml.org 
[lkml]   [2011]   [Feb]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] amd64-agp: fix crash at second module load
Hi Andrew,
I sent this to Dave Airlie because that is what MAINTAINERS says, but
that is probably the wrong receipient?

Regards,
Flo

On Mon, 7 Feb 2011 23:29:31 +0100
Florian Mickler <florian@mickler.org> wrote:

> The module forgot to sometimes unregister some resources.
>
> This fixes Bug #22882.
>
> [Patch updated to 2.6.38-rc3 by Randy Dunlap.]
> Tested-by: Randy Dunlap <randy.dunlap@oracle.com>
> Signed-off-by: Florian Mickler <florian@mickler.org>
> ---
> drivers/char/agp/amd64-agp.c | 9 +++++++--
> 1 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c
> index 9252e85..780498d 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;
> }


\
 
 \ /
  Last update: 2011-02-23 09:29    [W:0.159 / U:0.056 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site