> When I call interruptible_sleep_on_timeout(), the complete systems
> stops/hangs, even with small timeout values. This happens only on an
> Abit KT7A (VIA chip set) motherboard with an Athlon processor, other
> motherboards (different manufactors) behave normally. I call the
> function during the initialization of a PCI device, but during the
> sleep the device is not generating traffic on the PCI bus.
are you sure timer interrupts are processed while you are waiting for the
timeout to expire? I'd suggest to put a:
printk("<%d>", irq);
into arch/i386/kernel/irq.c:do_IRQ(). So you can see what kind of
interrupt traffic there is while the device initializes and you are
waiting for it to generate an interrupt.
If you see lots of "<0>" messages and the sleep_on() is not returning
nevertheless, then something serious is going on - almost nothing can
prevent timers from expiring.
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/