summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMike Belopuhov <mikeb@cvs.openbsd.org>2012-08-15 16:30:26 +0000
committerMike Belopuhov <mikeb@cvs.openbsd.org>2012-08-15 16:30:26 +0000
commite473196e5cc5f1135d277703239ce272506eed45 (patch)
tree77111e5f40218e7f1bc522cdc70ad9a9c7a6462b /sys
parent2a98afab0b631cba796e2c63f470b91bf9da56de (diff)
we're not going to loop in rxeof here as well so remove the leftovers
from brad, ok jsg
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/if_em.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/sys/dev/pci/if_em.c b/sys/dev/pci/if_em.c
index 15c11cb439e..d69e8c7fbfb 100644
--- a/sys/dev/pci/if_em.c
+++ b/sys/dev/pci/if_em.c
@@ -31,7 +31,7 @@ POSSIBILITY OF SUCH DAMAGE.
***************************************************************************/
-/* $OpenBSD: if_em.c,v 1.264 2012/05/17 10:45:17 jsg Exp $ */
+/* $OpenBSD: if_em.c,v 1.265 2012/08/15 16:30:25 mikeb Exp $ */
/* $FreeBSD: if_em.c,v 1.46 2004/09/29 18:28:28 mlaier Exp $ */
#include <dev/pci/if_em.h>
@@ -2534,6 +2534,8 @@ em_allocate_receive_structures(struct em_softc *sc)
sc->sc_dv.dv_xname);
return (ENOMEM);
}
+ printf("%s: allocated rx_buffer_area at %p (for %d)\n",
+ sc->sc_dv.dv_xname, sc->rx_buffer_area, sc->num_rx_desc);
sc->rxtag = sc->osdep.em_pa.pa_dmat;
@@ -2719,6 +2721,8 @@ em_free_receive_structures(struct em_softc *sc)
}
}
if (sc->rx_buffer_area != NULL) {
+ printf("%s: deallocated rx_buffer_area at %p\n",
+ sc->sc_dv.dv_xname, sc->rx_buffer_area);
free(sc->rx_buffer_area, M_DEVBUF);
sc->rx_buffer_area = NULL;
}
@@ -2783,7 +2787,7 @@ int
em_rxfill(struct em_softc *sc)
{
int post = 0;
- int i;
+ int i, iter = 0;
i = sc->last_rx_desc_filled;
@@ -2791,6 +2795,14 @@ em_rxfill(struct em_softc *sc)
if (++i == sc->num_rx_desc)
i = 0;
+ if (&sc->rx_buffer_area[i] == NULL)
+ panic("%s: rxfill(%d): null pkt at %p[%d], "
+ "last %d ndescs %d/%d\n", sc->sc_dv.dv_xname,
+ iter, sc->rx_buffer_area, i,
+ sc->last_rx_desc_filled, sc->rx_ndescs,
+ sc->num_rx_desc);
+ iter++;
+
if (em_get_buf(sc, i) != 0)
break;