diff options
| author | Matthew Dillon <dillon@FreeBSD.org> | 2002-02-05 02:00:56 +0000 |
|---|---|---|
| committer | Matthew Dillon <dillon@FreeBSD.org> | 2002-02-05 02:00:56 +0000 |
| commit | ecde8f7c29a43912ff0bb4ee5874d67754b375ab (patch) | |
| tree | ddce9732dedf55dfc29f00f3efed3b0ce5e9788e /sys/net/if_tun.c | |
| parent | 14102e47d3d5018240a34a2eb058212c098afc28 (diff) | |
Notes
Diffstat (limited to 'sys/net/if_tun.c')
| -rw-r--r-- | sys/net/if_tun.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c index 20f74376d614..f116b1d31066 100644 --- a/sys/net/if_tun.c +++ b/sys/net/if_tun.c @@ -636,7 +636,7 @@ tunread(dev_t dev, struct uio *uio, int flag) { struct tun_softc *tp = dev->si_drv1; struct ifnet *ifp = &tp->tun_if; - struct mbuf *m, *m0; + struct mbuf *m; int error=0, len, s; TUNDEBUG ("%s%d: read\n", ifp->if_name, ifp->if_unit); @@ -650,8 +650,8 @@ tunread(dev_t dev, struct uio *uio, int flag) s = splimp(); do { - IF_DEQUEUE(&ifp->if_snd, m0); - if (m0 == 0) { + IF_DEQUEUE(&ifp->if_snd, m); + if (m == NULL) { if (flag & IO_NDELAY) { splx(s); return EWOULDBLOCK; @@ -663,20 +663,19 @@ tunread(dev_t dev, struct uio *uio, int flag) return error; } } - } while (m0 == 0); + } while (m == NULL); splx(s); - while (m0 && uio->uio_resid > 0 && error == 0) { - len = min(uio->uio_resid, m0->m_len); + while (m && uio->uio_resid > 0 && error == 0) { + len = min(uio->uio_resid, m->m_len); if (len != 0) - error = uiomove(mtod(m0, caddr_t), len, uio); - MFREE(m0, m); - m0 = m; + error = uiomove(mtod(m, caddr_t), len, uio); + m = m_free(m); } - if (m0) { + if (m) { TUNDEBUG("%s%d: Dropping mbuf\n", ifp->if_name, ifp->if_unit); - m_freem(m0); + m_freem(m); } return error; } |
