Module Name: src Committed By: kiyohara Date: Sun Jun 24 08:39:39 UTC 2012
Modified Files: src/sys/arch/powerpc/ibm4xx/dev: if_emac.c Log Message: Flush current empty descriptor in emac_rxeob_intr(). To generate a diff of this commit: cvs rdiff -u -r1.39 -r1.40 src/sys/arch/powerpc/ibm4xx/dev/if_emac.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/powerpc/ibm4xx/dev/if_emac.c diff -u src/sys/arch/powerpc/ibm4xx/dev/if_emac.c:1.39 src/sys/arch/powerpc/ibm4xx/dev/if_emac.c:1.40 --- src/sys/arch/powerpc/ibm4xx/dev/if_emac.c:1.39 Sat Jun 18 06:41:42 2011 +++ src/sys/arch/powerpc/ibm4xx/dev/if_emac.c Sun Jun 24 08:39:39 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: if_emac.c,v 1.39 2011/06/18 06:41:42 matt Exp $ */ +/* $NetBSD: if_emac.c,v 1.40 2012/06/24 08:39:39 kiyohara Exp $ */ /* * Copyright 2001, 2002 Wasabi Systems, Inc. @@ -52,7 +52,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: if_emac.c,v 1.39 2011/06/18 06:41:42 matt Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_emac.c,v 1.40 2012/06/24 08:39:39 kiyohara Exp $"); #include "opt_emac.h" @@ -1584,11 +1584,15 @@ emac_rxeob_intr(void *arg) rxstat = sc->sc_rxdescs[i].md_stat_ctrl; - if (rxstat & MAL_RX_EMPTY) + if (rxstat & MAL_RX_EMPTY) { /* * We have processed all of the receive buffers. */ + /* Flush current empty descriptor */ + EMAC_CDRXSYNC(sc, i, + BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE); break; + } /* * If an error occurred, update stats, clear the status