summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/ic/re.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/ic/re.c b/sys/dev/ic/re.c
index f7f6fa24306..4a9c7b28059 100644
--- a/sys/dev/ic/re.c
+++ b/sys/dev/ic/re.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: re.c,v 1.198 2016/11/16 06:06:04 dlg Exp $ */
+/* $OpenBSD: re.c,v 1.199 2017/01/04 01:47:32 dlg Exp $ */
/* $FreeBSD: if_re.c,v 1.31 2004/09/04 07:54:05 ru Exp $ */
/*
* Copyright (c) 1997, 1998-2003
@@ -1213,7 +1213,8 @@ re_rx_list_init(struct rl_softc *sc)
sc->rl_ldata.rl_rx_considx = 0;
sc->rl_head = sc->rl_tail = NULL;
- if_rxr_init(&sc->rl_ldata.rl_rx_ring, 2, sc->rl_ldata.rl_rx_desc_cnt);
+ if_rxr_init(&sc->rl_ldata.rl_rx_ring, 2,
+ sc->rl_ldata.rl_rx_desc_cnt - 1);
re_rx_list_fill(sc);
return (0);
@@ -1520,7 +1521,8 @@ re_intr(void *arg)
claimed = 1;
if (status & RL_INTRS_CPLUS) {
- if (status & (sc->rl_rx_ack | RL_ISR_RX_ERR)) {
+ if (status &
+ (sc->rl_rx_ack | RL_ISR_RX_ERR | RL_ISR_FIFO_OFLOW)) {
rx |= re_rxeof(sc);
claimed = 1;
}