Re: SATA probe delay on boot

From: Bartlomiej Zolnierkiewicz
Date: Wed Sep 03 2003 - 18:54:40 EST



On Thursday 04 of September 2003 01:18, admin@xxxxxxxxx wrote:
> Hi,

Hi,

> I have a Sil3112A SATA controller, which linux works OK
> with. It supports RAID (up to 4 devices), but I'm using
> BASE option -- only 1 hard drive.
>
> My question is regarding a 15-20 second delay which
> normally occurs every time I boot, unless I pass the

Please try attached patch and send dmesg output (with patch applied).
Patch is against current 2.6-bk tree, but should apply to any recent
2.4.x or 2.6.x kernels.

diff -puN drivers/ide/ide-probe.c~ide-siimage-wait drivers/ide/ide-probe.c
--- linux-2.6.0-test4-bk5/drivers/ide/ide-probe.c~ide-siimage-wait 2003-09-04 01:34:02.285489272 +0200
+++ linux-2.6.0-test4-bk5-root/drivers/ide/ide-probe.c 2003-09-04 01:47:58.145419248 +0200
@@ -56,6 +56,8 @@
#include <asm/uaccess.h>
#include <asm/io.h>

+#define DEBUG
+
/**
* generic_id - add a generic drive id
* @drive: drive to make an ID block for
@@ -345,7 +347,16 @@ static int actual_try_to_identify (ide_d
}
/* give drive a breather */
ide_delay_50ms();
- } while ((hwif->INB(hd_status)) & BUSY_STAT);
+ s = hwif->INB(hd_status);
+ if (s == 0xff) {
+#ifdef DEBUG
+ printk("%s: status == 0xff\n", drive->name);
+#endif
+ return 1;
+ }
+ if ((s & BUSY_STAT) == 0)
+ break;
+ } while (1);

/* wait for IRQ and DRQ_STAT */
ide_delay_50ms();

_

> options ide3=0 - ide9=0 to fill up the device table. I
> think I have to do this because if I do only ide3=0
> (where the device would be), it uses ide4, and so on. I
> have GRUB set up to do this automatically, but it's not
> exactly adequate (,is it?). So I was wondering if
> there're any other ways to get the same affect. Is or
> could there be an option to simply disable the probing
> of the one specific device/channel every time?

"ide3=noprobe" doesnt work?

--bartlomiej

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/