Module Name: src Committed By: jmcneill Date: Wed Oct 20 01:09:49 UTC 2021
Modified Files: src/sys/arch/evbarm/dev: plcom.c src/sys/dev/ic: com.c Log Message: - microtime -> microuptime - avoid kpause with timeo=0 To generate a diff of this commit: cvs rdiff -u -r1.63 -r1.64 src/sys/arch/evbarm/dev/plcom.c cvs rdiff -u -r1.369 -r1.370 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/arch/evbarm/dev/plcom.c diff -u src/sys/arch/evbarm/dev/plcom.c:1.63 src/sys/arch/evbarm/dev/plcom.c:1.64 --- src/sys/arch/evbarm/dev/plcom.c:1.63 Sun Oct 17 22:34:17 2021 +++ src/sys/arch/evbarm/dev/plcom.c Wed Oct 20 01:09:49 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: plcom.c,v 1.63 2021/10/17 22:34:17 jmcneill Exp $ */ +/* $NetBSD: plcom.c,v 1.64 2021/10/20 01:09:49 jmcneill Exp $ */ /*- * Copyright (c) 2001 ARM Ltd @@ -94,7 +94,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: plcom.c,v 1.63 2021/10/17 22:34:17 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: plcom.c,v 1.64 2021/10/20 01:09:49 jmcneill Exp $"); #include "opt_plcom.h" #include "opt_ddb.h" @@ -686,7 +686,7 @@ plcom_shutdown(struct plcom_softc *sc) */ if (ISSET(tp->t_cflag, HUPCL)) { plcom_modem(sc, 0); - microtime(&sc->sc_hup_pending); + microuptime(&sc->sc_hup_pending); sc->sc_hup_pending.tv_sec++; } @@ -790,13 +790,14 @@ plcomopen(dev_t dev, int flag, int mode, } if (timerisset(&sc->sc_hup_pending)) { - microtime(&now); + microuptime(&now); while (timercmp(&now, &sc->sc_hup_pending, <)) { timersub(&sc->sc_hup_pending, &now, &diff); const int ms = diff.tv_sec * 100 + - uimax(diff.tv_usec / 1000, 1); - kpause(ttclos, false, mstohz(ms), &sc->sc_lock); - microtime(&now); + diff.tv_usec / 1000; + kpause(ttclos, false, uimax(mstohz(ms), 1), + &sc->sc_lock); + microuptime(&now); } timerclear(&sc->sc_hup_pending); } Index: src/sys/dev/ic/com.c diff -u src/sys/dev/ic/com.c:1.369 src/sys/dev/ic/com.c:1.370 --- src/sys/dev/ic/com.c:1.369 Thu Oct 14 09:56:12 2021 +++ src/sys/dev/ic/com.c Wed Oct 20 01:09:49 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: com.c,v 1.369 2021/10/14 09:56:12 jmcneill Exp $ */ +/* $NetBSD: com.c,v 1.370 2021/10/20 01:09:49 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.369 2021/10/14 09:56:12 jmcneill Exp $"); +__KERNEL_RCSID(0, "$NetBSD: com.c,v 1.370 2021/10/20 01:09:49 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); - microtime(&sc->sc_hup_pending); + microuptime(&sc->sc_hup_pending); sc->sc_hup_pending.tv_sec++; } @@ -984,14 +984,14 @@ comopen(dev_t dev, int flag, int mode, s } if (timerisset(&sc->sc_hup_pending)) { - microtime(&now); + microuptime(&now); while (timercmp(&now, &sc->sc_hup_pending, <)) { timersub(&sc->sc_hup_pending, &now, &diff); const int ms = diff.tv_sec * 1000 + - uimax(diff.tv_usec / 1000, 1); - kpause(ttclos, false, mstohz(ms), + diff.tv_usec / 1000; + kpause(ttclos, false, uimax(mstohz(ms), 1), &sc->sc_lock); - microtime(&now); + microuptime(&now); } timerclear(&sc->sc_hup_pending); }