Module Name: src Committed By: jmcneill Date: Thu Oct 14 09:56:12 UTC 2021
Modified Files: src/sys/dev/ic: com.c Log Message: - use microtime instead of getmicrotime, suggested by thorpej - use ttclos for wchan even though we are sleeping in comopen now To generate a diff of this commit: cvs rdiff -u -r1.368 -r1.369 src/sys/dev/ic/com.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/ic/com.c diff -u src/sys/dev/ic/com.c:1.368 src/sys/dev/ic/com.c:1.369 --- src/sys/dev/ic/com.c:1.368 Tue Oct 12 08:09:50 2021 +++ src/sys/dev/ic/com.c Thu Oct 14 09:56:12 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: com.c,v 1.368 2021/10/12 08:09:50 kre Exp $ */ +/* $NetBSD: com.c,v 1.369 2021/10/14 09:56:12 jmcneill 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.368 2021/10/12 08:09:50 kre Exp $"); +__KERNEL_RCSID(0, "$NetBSD: com.c,v 1.369 2021/10/14 09:56:12 jmcneill Exp $"); #include "opt_com.h" #include "opt_ddb.h" @@ -891,7 +891,7 @@ com_shutdown(struct com_softc *sc) */ if (ISSET(tp->t_cflag, HUPCL)) { com_modem(sc, 0); - getmicrotime(&sc->sc_hup_pending); + microtime(&sc->sc_hup_pending); sc->sc_hup_pending.tv_sec++; } @@ -984,17 +984,14 @@ comopen(dev_t dev, int flag, int mode, s } if (timerisset(&sc->sc_hup_pending)) { - getmicrotime(&now); + microtime(&now); while (timercmp(&now, &sc->sc_hup_pending, <)) { - int ms; - - timersub(&sc->sc_hup_pending, &now, &diff); - ms = diff.tv_sec * 1000 + + const int ms = diff.tv_sec * 1000 + uimax(diff.tv_usec / 1000, 1); - kpause("comopen", false, mstohz(ms), + kpause(ttclos, false, mstohz(ms), &sc->sc_lock); - getmicrotime(&now); + microtime(&now); } timerclear(&sc->sc_hup_pending); }