diff --git a/sys/dev/en/midway.c b/sys/dev/en/midway.c index 494a61e60285..3aa001618c5e 100644 --- a/sys/dev/en/midway.c +++ b/sys/dev/en/midway.c @@ -1415,10 +1415,7 @@ en_reset_ul(struct en_softc *sc) /* * Unstop all waiters */ - while (!cv_waitq_empty(&sc->cv_close)) { - cv_broadcast(&sc->cv_close); - DELAY(100); - } + cv_broadcast(&sc->cv_close); } /* diff --git a/sys/dev/hatm/if_hatm.c b/sys/dev/hatm/if_hatm.c index a411d061caa2..80c8ff09215a 100644 --- a/sys/dev/hatm/if_hatm.c +++ b/sys/dev/hatm/if_hatm.c @@ -2312,13 +2312,8 @@ hatm_stop(struct hatm_softc *sc) * Give any waiters on closing a VCC a chance. They will stop * to wait if they see that IFF_RUNNING disappeared. */ - while (!(cv_waitq_empty(&sc->vcc_cv))) { - cv_broadcast(&sc->vcc_cv); - DELAY(100); - } - while (!(cv_waitq_empty(&sc->cv_rcclose))) { - cv_broadcast(&sc->cv_rcclose); - } + cv_broadcast(&sc->vcc_cv); + cv_broadcast(&sc->cv_rcclose); /* * Now free all resources. diff --git a/sys/dev/patm/if_patm.c b/sys/dev/patm/if_patm.c index b10603bdcc4f..3728ecc61d70 100644 --- a/sys/dev/patm/if_patm.c +++ b/sys/dev/patm/if_patm.c @@ -269,10 +269,7 @@ patm_stop(struct patm_softc *sc) * Give any waiters on closing a VCC a chance. They will stop * to wait if they see that IFF_RUNNING disappeared. */ - while (!(cv_waitq_empty(&sc->vcc_cv))) { - cv_broadcast(&sc->vcc_cv); - DELAY(100); - } + cv_broadcast(&sc->vcc_cv); /* free large buffers */ patm_debug(sc, ATTACH, "freeing large buffers...");