Re: 2.6.20->2.6.21 - networking dies after random time

Marcin Ślusarz
2007-08-08T11:11:36Z

2007/8/7, Jarek Poplawski <jarkao2@o2.pl>:
> And here is one more patch to test the same idea (chip->retrigger()).
> Let's try i386 way! (I hope I will not be arrested for this...)
> (Should be tested without any previous patches.)
>
> Jarek P.
>
> PS: as above
>
> ---
>
> diff -Nurp 2.6.22.1-/arch/x86_64/kernel/io_apic.c 2.6.22.1/arch/x86_64/kernel/io_apic.c
> --- 2.6.22.1-/arch/x86_64/kernel/io_apic.c 2007-07-09 01:32:17.000000000 +0200
> +++ 2.6.22.1/arch/x86_64/kernel/io_apic.c 2007-08-07 14:37:45.000000000 +0200
> @@ -1311,15 +1311,8 @@ static unsigned int startup_ioapic_irq(u
> static int ioapic_retrigger_irq(unsigned int irq)
> {
> struct irq_cfg *cfg = &irq_cfg[irq];
> - cpumask_t mask;
> - unsigned long flags;
> -
> - spin_lock_irqsave(&vector_lock, flags);
> - cpus_clear(mask);
> - cpu_set(first_cpu(cfg->domain), mask);
>
> - send_IPI_mask(mask, cfg->vector);
> - spin_unlock_irqrestore(&vector_lock, flags);
> + send_IPI_self(cfg->vector);
>
> return 1;
> }
>
Network card timed out with this patch.

Marcin