[RFC PATCH 0/2] net: arc_emac: fix tx issues

From: Beniamino Galvani
Date: Sun Jul 20 2014 - 11:47:37 EST


Hi,

I've found a strange behaviour of the ARC EMAC driver while doing some
tests on a Rockchip based Radxa Rock board and the following patches
are a try to solve the problem. I'm not sure if they are correct or if
there's a better way to do the same thing, so I'd like to receive some
feedback on this.

The problem I'm facing is that the transmission of a UDP stream from
the device stops immediately with the socket send buffer full and this
seems due to the current implementation of tx reclaiming.

With the two patches below, which do the following:

- enable tx interrupts, which are used to trigger a napi poll and
thus a clean of tx ring
- fix a possible race between xmit and tx clean

everything seems to work properly.

Any comments are welcome,
Beniamino

Beniamino Galvani (2):
net: arc_emac: enable tx interrupts
net: arc_emac: prevent reuse of unreclaimed tx descriptors

drivers/net/ethernet/arc/emac_main.c | 56 +++++++++++++++++++++++-----------
1 file changed, 38 insertions(+), 18 deletions(-)

--
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/