diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1996-01-12 21:13:42 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1996-01-12 21:13:42 +0000 |
commit | 4a98a0a58ec31ce2b7e3034b640a5969406fe76d (patch) | |
tree | 4be3eba763968bb722199f6941eeb6e06cf81291 /sys/arch/hp300/dev | |
parent | 61ab13cafc2081d9de96b7b523b322718b00d230 (diff) |
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.
Diffstat (limited to 'sys/arch/hp300/dev')
-rw-r--r-- | sys/arch/hp300/dev/rd.c | 14 |
1 files 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)); |