ide_delay_50ms() freezing on PPC?

Michel Lanners mlan at
Mon Jun 26 04:13:46 EST 2000

Hi all,

The latest 2.4.0 kernels don't boot on my machine anymore. They just
freeze in detecting the Promise Ultra66 IDE controller, specifically in
ide_delay_50ms(). Here is the code:

void ide_delay_50ms (void)
        unsigned long timeout = jiffies + ((HZ + 19)/20) + 1;
        while (0 < (signed long)(timeout - jiffies));

CONFIG_BLK_DEV_IDECS is support for PCMCIA IDE devices, which is not
configured in my kernel. So that function hangs if using the 'manual'
delay. Everything is OK if I force it to use schedule_timeout(), which
by the way was always the case until a few kernels ago.

So, why does the 'manual' way hang? (I suppose interrupts are not
disabled at this point, are they?)

And why can we only use schedule_timeout() if compiling with



Michel Lanners                 |  " Read Philosophy.  Study Art.
23, Rue Paul Henkes            |    Ask Questions.  Make Mistakes.
L-1710 Luxembourg              |
email   mlan at            |        |                     Learn Always. "

** Sent via the linuxppc-dev mail list. See

More information about the Linuxppc-dev mailing list