summaryrefslogtreecommitdiff
path: root/sys/arch/hp300/dev
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1996-01-12 21:13:42 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1996-01-12 21:13:42 +0000
commit4a98a0a58ec31ce2b7e3034b640a5969406fe76d (patch)
tree4be3eba763968bb722199f6941eeb6e06cf81291 /sys/arch/hp300/dev
parent61ab13cafc2081d9de96b7b523b322718b00d230 (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.c14
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));