Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Timing issues with USB attached storage



>>> Something like:

>>>       /*
>>> +        * Breathe
>>> +        */
>>> +       printf("SLEEP 5 seconds\n");
>>> +       kpause("breathe", false, 5 * hz, NULL);
>>> +       printf("SLEPT 5 seconds\n");
>>> +
>>> +       /*
>>>        * Now that autoconfiguration has completed, we can determine
>>>        * the root and dump devices.
>>>        */

>> Wouldn't it be worthy to add a kernel parameter like linux's
>> rootwait?

> This shouldnâ??t be needed at all.  The autoconfiguration infrastructure is $

That's a nice theory.  Unfortunately, it disagrees with reality.

The autoconf machinery is not in a position to tell whether, for
example, there is an external USB device that needs additional time
before it makes its presence known to the kernel.  I've had this happen
in (much) older versions, too, on different hardware: the boot ROMs
know how to boot off a USB disk, but the time from the kernel resetting
the USB subsystem to the kernel looking for root is too short for the
device to announce itself.  Autoconf has no way to tell that there is a
device physically present which will show up on USB at some
indeterminate (from its point of view) future time.  Without a pause
such as this, there is no way to tell whether the device is there and
needs more time, or whether it's there but broken, or got unplugged
while autoconf was running, or is behind hardware the ROMs understand
but the kernel doesn't, or what.

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index