“5f1c07da85c1846135ac0601f24a8cdd18c5e4e5”上不存在“git@gitcode.net:paddlepaddle/Paddle.git”
提交 49495d44 编写于 作者: F Florian Mickler 提交者: Dave Airlie

amd64-agp: fix crash at second module load

The module forgot to sometimes unregister some resources.

This fixes Bug #22882.

[Patch updated to 2.6.38-rc3 by Randy Dunlap.]
Tested-by: NRandy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: NFlorian Mickler <florian@mickler.org>
Signed-off-by: NDave Airlie <airlied@redhat.com>
上级 45e4039c
...@@ -773,18 +773,23 @@ int __init agp_amd64_init(void) ...@@ -773,18 +773,23 @@ int __init agp_amd64_init(void)
#else #else
printk(KERN_INFO PFX "You can boot with agp=try_unsupported\n"); printk(KERN_INFO PFX "You can boot with agp=try_unsupported\n");
#endif #endif
pci_unregister_driver(&agp_amd64_pci_driver);
return -ENODEV; return -ENODEV;
} }
/* First check that we have at least one AMD64 NB */ /* 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; return -ENODEV;
}
/* Look for any AGP bridge */ /* Look for any AGP bridge */
agp_amd64_pci_driver.id_table = agp_amd64_pci_promisc_table; agp_amd64_pci_driver.id_table = agp_amd64_pci_promisc_table;
err = driver_attach(&agp_amd64_pci_driver.driver); 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; err = -ENODEV;
}
} }
return err; return err;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册