aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/tsec/if_tsec.c
diff options
context:
space:
mode:
authorRafal Jaworowski <raj@FreeBSD.org>2009-02-17 15:39:16 +0000
committerRafal Jaworowski <raj@FreeBSD.org>2009-02-17 15:39:16 +0000
commitab160495d3a13b0d45e1efe7cfc64a10c82b1665 (patch)
tree44be20ebe563c3d61b325acff97197eb187e1206 /sys/dev/tsec/if_tsec.c
parent64f90c9dff03381885a18f9201a67251f9a26f42 (diff)
Notes
Diffstat (limited to 'sys/dev/tsec/if_tsec.c')
-rw-r--r--sys/dev/tsec/if_tsec.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/tsec/if_tsec.c b/sys/dev/tsec/if_tsec.c
index bde6aed1e5fd0..d6d5eddc6c4b8 100644
--- a/sys/dev/tsec/if_tsec.c
+++ b/sys/dev/tsec/if_tsec.c
@@ -1332,7 +1332,12 @@ tsec_receive_intr_locked(struct tsec_softc *sc, int count)
if (tsec_new_rxbuf(sc->tsec_rx_mtag, rx_data[i].map,
&rx_data[i].mbuf, &rx_data[i].paddr)) {
ifp->if_ierrors++;
- continue;
+ /*
+ * We ran out of mbufs; didn't consume current
+ * descriptor and have to return it to the queue.
+ */
+ TSEC_BACK_CUR_RX_DESC(sc);
+ break;
}
/* Attach new buffer to descriptor and clear flags */