diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2015-01-14 21:14:50 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2015-01-14 21:14:50 +0000 |
commit | f92c211ac272e848cb64b16c918e912a0eaf0983 (patch) | |
tree | 0bc8a8f9071d89ae6b0d77418eb378f7a18bcef2 /sys/arch | |
parent | 08d450b3982a2443a0576e01c26b6fdb596c8e5f (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')
-rw-r--r-- | sys/arch/sparc/dev/xd.c | 6 | ||||
-rw-r--r-- | sys/arch/sparc/dev/xy.c | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/sys/arch/sparc/dev/xd.c b/sys/arch/sparc/dev/xd.c index 36f05375f69..8d1c1196c73 100644 --- a/sys/arch/sparc/dev/xd.c +++ b/sys/arch/sparc/dev/xd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: xd.c,v 1.67 2015/01/14 21:13:46 miod Exp $ */ +/* $OpenBSD: xd.c,v 1.68 2015/01/14 21:14:49 miod Exp $ */ /* $NetBSD: xd.c,v 1.37 1997/07/29 09:58:16 fair Exp $ */ /* @@ -2088,8 +2088,10 @@ xdc_tick(arg) XD_STATE(xdcsc->reqs[lcv].mode) == XD_SUB_DONE) continue; xdcsc->reqs[lcv].ttl--; - if (xdcsc->reqs[lcv].ttl == 0) + if (xdcsc->reqs[lcv].ttl == 0) { reset = 1; + break; /* we're going to fail all requests anyway */ + } } if (reset) { printf("%s: watchdog timeout\n", xdcsc->sc_dev.dv_xname); 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); |