I haven't looked at the kernel driver code yet, but here is one possible cause:
 
Back when I was writing floppy drivers for my own OS, I had a problem with a particular floppy not booting on one machine. It would work on the others, but not this particular machine.
 
To fix it, I changed the driver so that the disk operation was checked for success, and if it failed, it first reset the drive with int 13 ax=0000, and then retried the read.  It would do this three times, or until the operation succeeded.
 
On some machines, the operation _MUST_ be immediately retried; the first operation _always_ fails, and only succeeds on the second or third try.  Some drives simply can't spin up to speed soon enough.  If your driver always makes three tries, the number of times an IO operation actually fails is significantly reduced, and you don't have to prompt the user.
 
-Nathan


Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!

Reply via email to