aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/vr
diff options
context:
space:
mode:
authorBill Paul <wpaul@FreeBSD.org>2001-01-19 23:55:07 +0000
committerBill Paul <wpaul@FreeBSD.org>2001-01-19 23:55:07 +0000
commit419146d94400d9419d7561626d2cce2ed6ca372b (patch)
treeb6b56e7de060bc6b950d017cda994f1cdc3d2abb /sys/dev/vr
parent4dedca9fd7ce4e8a3d1e1c041bc7fb5af2522cc7 (diff)
Notes
Diffstat (limited to 'sys/dev/vr')
-rw-r--r--sys/dev/vr/if_vr.c10
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;