summaryrefslogtreecommitdiff
path: root/sys/dev/ic
diff options
context:
space:
mode:
authorkre <kre@NetBSD.org>2021-10-12 06:25:17 +0000
committerkre <kre@NetBSD.org>2021-10-12 06:25:17 +0000
commita10014c82004c021706fc755c8780ef623c8a31e (patch)
tree064c6970480633326b64647f87fb902659babf60 /sys/dev/ic
parent467187a7953977074212a5ed388924da5b7f482e (diff)
Now Jason has made this build, avoid a 50+ year
sleep to implement HUPCL.
Diffstat (limited to 'sys/dev/ic')
-rw-r--r--sys/dev/ic/com.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/dev/ic/com.c b/sys/dev/ic/com.c
index 1dbb5cd83b3..8436dd4b122 100644
--- a/sys/dev/ic/com.c
+++ b/sys/dev/ic/com.c
@@ -1,4 +1,4 @@
-/* $NetBSD: com.c,v 1.366 2021/10/11 18:39:06 jmcneill Exp $ */
+/* $NetBSD: com.c,v 1.367 2021/10/12 06:25:17 kre Exp $ */
/*-
* Copyright (c) 1998, 1999, 2004, 2008 The NetBSD Foundation, Inc.
@@ -66,7 +66,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: com.c,v 1.366 2021/10/11 18:39:06 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: com.c,v 1.367 2021/10/12 06:25:17 kre Exp $");
#include "opt_com.h"
#include "opt_ddb.h"
@@ -986,9 +986,12 @@ comopen(dev_t dev, int flag, int mode, struct lwp *l)
if (timerisset(&sc->sc_hup_pending)) {
getmicrotime(&now);
while (timercmp(&now, &sc->sc_hup_pending, <)) {
+ int ms;
+
+
timersub(&sc->sc_hup_pending, &now, &diff);
- int ms = now.tv_sec * 1000 +
- uimin(now.tv_usec / 1000, 1);
+ ms = diff.tv_sec * 1000 +
+ uimax(diff.tv_usec / 1000, 1);
kpause("comopen", false, mstohz(ms),
&sc->sc_lock);
}