Subject: Re: 120GB hard disk (SAMSUNG SP1203N) problem?
To: None <port-i386@NetBSD.org>
From: Takahiro Kambe <taca@back-street.net>
List: port-i386
Date: 08/13/2003 15:45:51
In message <20030812.201632.13057373.taca@back-street.net>
	on Tue, 12 Aug 2003 20:16:32 +0900 (JST),
	Takahiro Kambe <taca@back-street.net> wrote:
> In message <20030812.162225.68538549.taca@back-street.net>
> 	on Tue, 12 Aug 2003 16:22:25 +0900 (JST),
> 	Takahiro Kambe <taca@back-street.net> wrote:
> > And when disk was recognized, retrying with soft error happened.
> This problem dosen't occur with FreeBSD 4.8 Release and OpenBSD 3.3.
After comparing OpenBSD 3.3, adding delay seems to solve the problem.
(While looking for root device, still retry with soft error occur.)

-- 
Takahiro Kambe <taca@back-street.net>

Index: sys/dev/ic/wdc.c
===================================================================
RCS file: /usr/pkg/libdata/cvs/src/sys/dev/ic/wdc.c,v
retrieving revision 1.1.1.3
retrieving revision 1.1.1.1.2.1
diff -u -p -d -u -r1.1.1.3 -r1.1.1.1.2.1
--- sys/dev/ic/wdc.c	2003/03/31 05:04:53	1.1.1.3
+++ sys/dev/ic/wdc.c	2003/08/13 06:21:16	1.1.1.1.2.1
@@ -240,7 +240,7 @@ wdcprobe(chp)
 	delay(1000);
 	(void) bus_space_read_1(chp->cmd_iot, chp->cmd_ioh, wd_error);
 	bus_space_write_1(chp->ctl_iot, chp->ctl_ioh, wd_aux_ctlr, WDCTL_4BIT);
-	delay(10);
+	delay(1000);
 
 	ret_value = __wdcwait_reset(chp, ret_value);
 	WDCDEBUG_PRINT(("%s:%d: after reset, ret_value=0x%d\n",