diff options
| author | Bill Paul <wpaul@FreeBSD.org> | 2001-01-19 23:55:07 +0000 |
|---|---|---|
| committer | Bill Paul <wpaul@FreeBSD.org> | 2001-01-19 23:55:07 +0000 |
| commit | 419146d94400d9419d7561626d2cce2ed6ca372b (patch) | |
| tree | b6b56e7de060bc6b950d017cda994f1cdc3d2abb /sys/dev/vr | |
| parent | 4dedca9fd7ce4e8a3d1e1c041bc7fb5af2522cc7 (diff) | |
Notes
Diffstat (limited to 'sys/dev/vr')
| -rw-r--r-- | sys/dev/vr/if_vr.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/dev/vr/if_vr.c b/sys/dev/vr/if_vr.c index 7c3729f89433..662e7be34566 100644 --- a/sys/dev/vr/if_vr.c +++ b/sys/dev/vr/if_vr.c @@ -1262,14 +1262,14 @@ static int vr_encap(sc, c, m_head) MGETHDR(m_new, M_DONTWAIT, MT_DATA); if (m_new == NULL) { - printf("vr%d: no memory for tx list", sc->vr_unit); + printf("vr%d: no memory for tx list\n", sc->vr_unit); return(1); } if (m_head->m_pkthdr.len > MHLEN) { MCLGET(m_new, M_DONTWAIT); if (!(m_new->m_flags & M_EXT)) { m_freem(m_new); - printf("vr%d: no memory for tx list", + printf("vr%d: no memory for tx list\n", sc->vr_unit); return(1); } @@ -1346,7 +1346,11 @@ static void vr_start(ifp) sc->vr_cdata.vr_tx_free = cur_tx->vr_nextdesc; /* Pack the data into the descriptor. */ - vr_encap(sc, cur_tx, m_head); + if (vr_encap(sc, cur_tx, m_head)) { + IF_PREPEND(&ifp->if_snd, m_head); + cur_tx = NULL; + break; + } if (cur_tx != start_tx) VR_TXOWN(cur_tx) = VR_TXSTAT_OWN; |
