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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/