Messages in this thread | | | Date | Wed, 23 Feb 2011 09:26:19 +0100 | From | Florian Mickler <> | Subject | Re: [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; > }
| |