CDROM drivers not apt for kerneld

JF Martinez (jfm@sidney.remcomp.fr)
Mon, 3 Jun 1996 22:24:44 +0200


There is a problem in the two CDROM drivers I use: when the CDROM driver is
initialized it resets the device. The device answers and then it tests
if there is a CDROM loaded. If a program accesses the device during the
test (a couple of seconds) this fails with the message "no CD in drive".
This is a problem if you are using kerneld. The first mounting of the
CD always fails.

Also some people are complaining because during installation the mounting
of the root device is failing. I had this when using an installation
who used the CDROM as a root device. I had to install from floppies.
The people affected by this are mostly beginners so the problem is
serious.

I suggest the "no CD in drive" is not returned to the application if
the driver has been started from less than 5 seconds. Otherwise sleep
1 second and retry.

The following pseudo-code describes the idea:

-------------
do {
status=test_cd_in_drive();
if (status != NO_DISK_IN_DRIVE) break;
while ( time_since_driver_init() > FIVE_SECONDS || sleep(ONE_SECOND));

if ( status != SUCCESS) return (failure(status));

--------

-- 

Jean Francois Martinez

Join the Free World side in the holy war against Microsoft's Evil Empire. (Ronald Reagan)