From owner-freebsd-stable Tue May 26 18:26:38 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id SAA07596 for freebsd-stable-outgoing; Tue, 26 May 1998 18:26:38 -0700 (PDT) (envelope-from owner-freebsd-stable@FreeBSD.ORG) Received: from public.bta.net.cn (public.bta.net.cn [202.96.0.97]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id SAA07509 for ; Tue, 26 May 1998 18:26:27 -0700 (PDT) (envelope-from robinson@public.bta.net.cn) Received: (from robinson@localhost) by public.bta.net.cn (8.8.5/8.8.5) id JAA20637; Wed, 27 May 1998 09:26:18 +0800 (GMT) Date: Wed, 27 May 1998 09:26:18 +0800 (GMT) From: Michael Robinson Message-Id: <199805270126.JAA20637@public.bta.net.cn> To: mike@smith.net.au, nate@mt.sri.com Subject: Re: Bug in wd driver Cc: freebsd-stable@FreeBSD.ORG Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk Mike Smith writes: >I'm sorry Nate, but if it was a bad spot the error register would be >nonzero. Please check the originally quoted diagnostic for the actual >status/error register values. Also note that DRQ would not be set if >the timeout had occurred too soon. This is from the originally quoted diagnostic: wd0: interrupt timeout wd0: status 50 error 1 I am not an expert, but it looks to me like a nonzero error code. >Actually, it eventually gives up. (Check the source if you don't >believe me.) I looked at the source, and it gives up after five errors. Unfortunately, the driver only gets to the second retry before it wedges itself. As for unwedging itself, this seems to be pretty suspicious: -----/usr/src/sys/i386/isa/wd.c----- /* * XXX this loop may never terminate. The code to handle * counting down of retries and eventually failing the i/o * is in wdintr() and we can't get there from here. */ ------------------------------------ In real time, I waited as long as twenty minutes without it giving up. -Michael Robinson To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message