Skip to contentSkip to conversation

Timeout at bootTime with NEC3500A (and others) when inserted a CD in it.

PATCH In review Marcello Maggioni 1 participant 2 messages Apr 26, 2005 – Apr 28, 2005 libata

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Timeout at bootTime with NEC3500A (and others) when inserted a CD in it.

Hi all,

I've attached a patch intended for solving boottime issues with this and other drives when a CD/DVD is inserted .

Problem: Some drives (NEC 3500 , TDK 1616N , Mad-dog MD-16XDVD9, RICOH MP5163DA , Memorex DVD9 drive and IO-DATA's too for sure) , if a CD/DVD is inserted into the tray when the system is booted and if before the OS bootup the BIOS checked for the presence of a bootable CD/DVD into the drive , during the IDE probe phase the drive may result busy and remain so for the next 25/30 seconds . This cause the drive to be skipped during the booting phase and not begin usable until the next reboot (if the reboot goes well and the drive doesn't timeout again ).

Solution: Rising the timeout time from 10 seconds to 35 seconds (during these 35 seconds every drive should wake up for sure according to the tests I've done) .

Here the simple patch :

ide/ide-probe.c renamed from ide/ide-probe.c.orig +2 -2
@@ -638,13 +638,13 @@
 	SELECT_DRIVE(&hwif->drives[0]);
 	hwif->OUTB(8, hwif->io_ports[IDE_CONTROL_OFFSET]);
 	mdelay(2);
-	rc = ide_wait_not_busy(hwif, 10000);
+	rc = ide_wait_not_busy(hwif, 35000);
 	if (rc)
 		return rc;
 	SELECT_DRIVE(&hwif->drives[1]);
 	hwif->OUTB(8, hwif->io_ports[IDE_CONTROL_OFFSET]);
 	mdelay(2);
-	rc = ide_wait_not_busy(hwif, 10000);
+	rc = ide_wait_not_busy(hwif, 35000);
 
 	/* Exit function with master reselected (let's be sane) */
 	SELECT_DRIVE(&hwif->drives[0]);

Greets,

Maggioni Marcello

ide/ide-probe.c renamed from ide/ide-probe.c.orig +2 -2
@@ -638,13 +638,13 @@
 	SELECT_DRIVE(&hwif->drives[0]);
 	hwif->OUTB(8, hwif->io_ports[IDE_CONTROL_OFFSET]);
 	mdelay(2);
-	rc = ide_wait_not_busy(hwif, 10000);
+	rc = ide_wait_not_busy(hwif, 35000);
 	if (rc)
 		return rc;
 	SELECT_DRIVE(&hwif->drives[1]);
 	hwif->OUTB(8, hwif->io_ports[IDE_CONTROL_OFFSET]);
 	mdelay(2);
-	rc = ide_wait_not_busy(hwif, 10000);
+	rc = ide_wait_not_busy(hwif, 35000);
 
 	/* Exit function with master reselected (let's be sane) */
 	SELECT_DRIVE(&hwif->drives[0]);
#1 lore raw

2005/4/26, Marcello Maggioni <[email protected]>:

Quoted 40 lines

Hi all,

I've attached a patch intended for solving boottime issues with this and other drives when a CD/DVD is inserted .

Problem: Some drives (NEC 3500 , TDK 1616N , Mad-dog MD-16XDVD9, RICOH MP5163DA , Memorex DVD9 drive and IO-DATA's too for sure) , if a CD/DVD is inserted into the tray when the system is booted and if before the OS bootup the BIOS checked for the presence of a bootable CD/DVD into the drive , during the IDE probe phase the drive may result busy and remain so for the next 25/30 seconds . This cause the drive to be skipped during the booting phase and not begin usable until the next reboot (if the reboot goes well and the drive doesn't timeout again ).

Solution: Rising the timeout time from 10 seconds to 35 seconds (during these 35 seconds every drive should wake up for sure according to the tests I've done) .

Here the simple patch :

ide/ide-probe.c 2005-04-26 15:04:14.000000000 +0200 renamed from ide/ide-probe.c.orig 2005-04-26 15:04:46.000000000 +0200 +2 -2
@@ -638,13 +638,13 @@
        SELECT_DRIVE(&hwif->drives[0]);
        hwif->OUTB(8, hwif->io_ports[IDE_CONTROL_OFFSET]);
        mdelay(2);
-       rc = ide_wait_not_busy(hwif, 10000);
+       rc = ide_wait_not_busy(hwif, 35000);
        if (rc)
                return rc;
        SELECT_DRIVE(&hwif->drives[1]);
        hwif->OUTB(8, hwif->io_ports[IDE_CONTROL_OFFSET]);
        mdelay(2);
-       rc = ide_wait_not_busy(hwif, 10000);
+       rc = ide_wait_not_busy(hwif, 35000);
 
        /* Exit function with master reselected (let's be sane) */
        SELECT_DRIVE(&hwif->drives[0]);
Quoted 4 lines

Greets,

Maggioni Marcello

I have a question to ask.

What would be the negative effect of rising this timeout time?

Thanks

Bye

Marcello