diff options
author | scottl <scottl@FreeBSD.org> | 2004-02-29 09:26:01 +0000 |
---|---|---|
committer | scottl <scottl@FreeBSD.org> | 2004-02-29 09:26:01 +0000 |
commit | 28681e97b01c7595536de0338a8e8f65827477ae (patch) | |
tree | fd6e8d3b7da7419d53c635ba6dacaf83fe4c2400 | |
parent | 6becbe0dc56258a4e9f2945f223bec6080741c35 (diff) | |
download | FreeBSD-src-28681e97b01c7595536de0338a8e8f65827477ae.zip FreeBSD-src-28681e97b01c7595536de0338a8e8f65827477ae.tar.gz |
All three of these drivers abused cv_waitq_empty in the same way by spinning
on it in hopes of making sure that the waitq was empty before going on.
This wasn't needed and probably never would have worked as intended. Now
that cv_waitq_empty() and friends are gone, the code in these drivers that
spins on it can go away too. This should unbreak LINT.
Discussed with: kan
-rw-r--r-- | sys/dev/en/midway.c | 5 | ||||
-rw-r--r-- | sys/dev/hatm/if_hatm.c | 9 | ||||
-rw-r--r-- | sys/dev/patm/if_patm.c | 5 |
3 files changed, 4 insertions, 15 deletions
diff --git a/sys/dev/en/midway.c b/sys/dev/en/midway.c index 494a61e..3aa0016 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 a411d06..80c8ff0 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 b10603b..3728ecc 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..."); |