From f9f16511fff0fd926491cd31e0669e9b4e2c9042 Mon Sep 17 00:00:00 2001 From: jmallett Date: Mon, 10 Jan 2011 06:46:18 +0000 Subject: o) Free mbufs in error cases. o) Clear/acknowledge receive interrupt at end of thread. This gives the management interfaces performance on the order of 100Mbps rather than the previous level of 10Mbps on my MR-730. --- sys/mips/cavium/if_octm.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sys/mips') diff --git a/sys/mips/cavium/if_octm.c b/sys/mips/cavium/if_octm.c index 0c3c4ea..bcf80e7 100644 --- a/sys/mips/cavium/if_octm.c +++ b/sys/mips/cavium/if_octm.c @@ -511,9 +511,15 @@ octm_rx_intr(void *arg) continue; } + m_freem(m); + if (len == 0) break; sc->sc_ifp->if_ierrors++; } + + /* Acknowledge interrupts. */ + cvmx_write_csr(CVMX_MIXX_ISR(sc->sc_port), mixx_isr.u64); + cvmx_read_csr(CVMX_MIXX_ISR(sc->sc_port)); } -- cgit v1.1