summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hellstrom <daniel@gaisler.com>2019-04-05 15:19:16 +0200
committerDaniel Hellstrom <daniel@gaisler.com>2019-04-05 15:19:16 +0200
commitbaa0bea1689522822523d5f59a0f453231b7c9fc (patch)
treed174b022f5845d0b590db4c2acc82a8733d15cdf
parent313a7000f1c9eaa5365708948054c1e2ea224296 (diff)
leon, greth: 10/100 MAC enable TX BD interrupt
Missed to enable interrupt per TX descriptor. Could lead to TX buffer starvation.
-rw-r--r--c/src/lib/libbsp/sparc/shared/net/greth.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/net/greth.c b/c/src/lib/libbsp/sparc/shared/net/greth.c
index 71562a1bc1..3bdd40ce18 100644
--- a/c/src/lib/libbsp/sparc/shared/net/greth.c
+++ b/c/src/lib/libbsp/sparc/shared/net/greth.c
@@ -824,10 +824,12 @@ sendpacket (struct ifnet *ifp, struct mbuf *m)
if (len <= GRETH_MAXBUF_LEN) {
if (dp->tx_ptr < dp->txbufs-1) {
- dp->txdesc[dp->tx_ptr].ctrl = GRETH_TXD_ENABLE | len;
+ dp->txdesc[dp->tx_ptr].ctrl = GRETH_TXD_IRQ |
+ GRETH_TXD_ENABLE | len;
} else {
- dp->txdesc[dp->tx_ptr].ctrl =
- GRETH_TXD_WRAP | GRETH_TXD_ENABLE | len;
+ dp->txdesc[dp->tx_ptr].ctrl = GRETH_TXD_IRQ |
+ GRETH_TXD_WRAP |
+ GRETH_TXD_ENABLE | len;
}
dp->tx_ptr = (dp->tx_ptr + 1) % dp->txbufs;
rtems_interrupt_disable(level);