On Wed, 2006-01-18 at 21:42 +0100, Pavel Machek wrote:
> Hi!
> 
> There's a bug in error handling:
> 
> int __init acpiphp_glue_init(void)
> {
>         int num = 0;
> 
>         acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT,
>                         ACPI_UINT32_MAX, find_root_bridges, &num,
> NULL);
> 
>         if (num <= 0)
>                 return -1;
>         else
>                 acpi_pci_register_driver(&acpi_pci_hp_driver);
> 
>         return 0;
> }
> 
> You register driver here, but if acpiphp_get_num_slots() returns 0
> later, you return -ENODEV, aborting load of driver, but without
> undergistering that driver. It oopses after a while. Same problem if
> init_slots() returns error.
> 
>                                                               Pavel

This one needs some more thought on how to fix, because I'm not certain
if we have the code in place to back out of this once we find root
bridges that exist.  it might be easy, but it might not be. 

-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to