From 3af1e2b1b5f62096b183bffb91bc4e4ef9ad6b69 Mon Sep 17 00:00:00 2001 From: deraadt Date: Fri, 12 Jan 1996 21:13:41 +0000 Subject: [PATCH] from netbsd: Kludge around a case where a flaky HP-IB disk might be slow to respond to the identification request in rdmatch(). Similar in spirit to a patch from Jason Downs (written eons ago), but limited to the broken device we're trying to reach. My patch tested (and fixed :-) by Herb Peyerl. --- sys/arch/hp300/dev/rd.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/sys/arch/hp300/dev/rd.c b/sys/arch/hp300/dev/rd.c index d1c480c72ea..f1224094bf6 100644 --- a/sys/arch/hp300/dev/rd.c +++ b/sys/arch/hp300/dev/rd.c @@ -1,4 +1,4 @@ -/* $NetBSD: rd.c,v 1.17 1996/01/07 22:02:12 thorpej Exp $ */ +/* $NetBSD: rd.c,v 1.18 1996/01/10 20:54:29 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -231,8 +231,16 @@ rdmatch(hd) rs->sc_hd = hd; rs->sc_punit = rdpunit(hd->hp_flags); rs->sc_type = rdident(rs, hd, 0); - if (rs->sc_type < 0) - return(0); + if (rs->sc_type < 0) { + /* + * XXX Some ancient drives may be slow to respond, so + * probe them again. + */ + DELAY(10000); + rs->sc_type = rdident(rs, hd, 0); + if (rs->sc_type < 0) + return (0); + } /* XXX set up the external name */ bzero(rs->sc_xname, sizeof(rs->sc_xname)); -- 2.20.1