Re: 2.6.8.1-mm1 broke USB driver with ACPI pci irq routing... info follows

Shawn Starr
2004-08-19T01:43:18Z

Confirmed, this fixes the oops for USB for me.

Thanks

Shawn.

On August 18, 2004 19:40, Bjorn Helgaas wrote:
> Shawn and Cyrille, can you try the attached patch, please? We were using
> __initdata from a function that is no longer used only at boot-time.
> I'm pretty sure this will fix Shawn's problem. I don't know whether
> it'll fix yours, Cyrille, but it might.
>
> Andrew, I think this is clearly a bug independent of my other patches
> in -mm, so could you apply this as well?
>
>
> Make acpi_irq_penalty non-initdata, since it's used by the
> non_init acpi_pci_link_allocate(). And make acpi_irq_penalty_init()
> __init, since it is used only by the __init pci_acpi_init().
>
> Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
>
> ===== drivers/acpi/pci_link.c 1.31 vs edited =====
> --- 1.31/drivers/acpi/pci_link.c 2004-08-04 13:55:16 -06:00
> +++ edited/drivers/acpi/pci_link.c 2004-08-18 17:26:48 -06:00
> @@ -448,7 +448,7 @@
> #define PIRQ_PENALTY_ISA_USED (16*16*16*16*16)
> #define PIRQ_PENALTY_ISA_ALWAYS (16*16*16*16*16*16)
>
> -static int __initdata acpi_irq_penalty[ACPI_MAX_IRQS] = {
> +static int acpi_irq_penalty[ACPI_MAX_IRQS] = {
> PIRQ_PENALTY_ISA_ALWAYS, /* IRQ0 timer */
> PIRQ_PENALTY_ISA_ALWAYS, /* IRQ1 keyboard */
> PIRQ_PENALTY_ISA_ALWAYS, /* IRQ2 cascade */
> @@ -468,7 +468,7 @@
> /* >IRQ15 */
> };
>
> -int
> +int __init
> acpi_irq_penalty_init(void)
> {
> struct list_head *node = NULL;