summaryrefslogtreecommitdiff
path: root/sys/arch/sparc/dev/xy.c
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2015-01-14 21:14:50 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2015-01-14 21:14:50 +0000
commitf92c211ac272e848cb64b16c918e912a0eaf0983 (patch)
tree0bc8a8f9071d89ae6b0d77418eb378f7a18bcef2 /sys/arch/sparc/dev/xy.c
parent08d450b3982a2443a0576e01c26b6fdb596c8e5f (diff)
When the outcome of the watchdog processing is a reset, do not bother checking
further pending requests, since they will be forcefully failed by the reset routine.
Diffstat (limited to 'sys/arch/sparc/dev/xy.c')
-rw-r--r--sys/arch/sparc/dev/xy.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/arch/sparc/dev/xy.c b/sys/arch/sparc/dev/xy.c
index 3be42a1dfcb..e776a59d03d 100644
--- a/sys/arch/sparc/dev/xy.c
+++ b/sys/arch/sparc/dev/xy.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: xy.c,v 1.64 2015/01/14 21:13:46 miod Exp $ */
+/* $OpenBSD: xy.c,v 1.65 2015/01/14 21:14:49 miod Exp $ */
/* $NetBSD: xy.c,v 1.26 1997/07/19 21:43:56 pk Exp $ */
/*
@@ -1897,8 +1897,10 @@ xyc_tick(arg)
XY_STATE(xycsc->reqs[lcv].mode) == XY_SUB_DONE)
continue;
xycsc->reqs[lcv].ttl--;
- if (xycsc->reqs[lcv].ttl == 0)
+ if (xycsc->reqs[lcv].ttl == 0) {
reset = 1;
+ break; /* we're going to fail all requests anyway */
+ }
}
if (reset) {
printf("%s: watchdog timeout\n", xycsc->sc_dev.dv_xname);