[PATCH net v2 00/12] Fixes for SONIC ethernet driver

From: Finn Thain
Date: Tue Jan 21 2020 - 17:11:38 EST


Hi David,

Various SONIC driver problems have become apparent over the years,
including tx watchdog timeouts, lost packets and duplicated packets.

The problems are mostly caused by bugs in buffer handling, locking and
(re-)initialization code.

This patch series resolves these problems.

This series has been tested on National Semiconductor hardware (macsonic),
qemu-system-m68k (macsonic) and qemu-system-mips64el (jazzsonic).

The emulated dp8393x device used in QEMU also has bugs.
I have fixed the bugs that I know of in a series of patches at,
https://github.com/fthain/qemu/commits/sonic
---
Changed since v1:
- Minor revisions as described in commit logs.
- Deferred net-next patches.


Finn Thain (12):
net/sonic: Add mutual exclusion for accessing shared state
net/sonic: Clear interrupt flags immediately
net/sonic: Use MMIO accessors
net/sonic: Fix interface error stats collection
net/sonic: Fix receive buffer handling
net/sonic: Avoid needless receive descriptor EOL flag updates
net/sonic: Improve receive descriptor status flag check
net/sonic: Fix receive buffer replenishment
net/sonic: Quiesce SONIC before re-initializing descriptor memory
net/sonic: Fix command register usage
net/sonic: Fix CAM initialization
net/sonic: Prevent tx watchdog timeout

drivers/net/ethernet/natsemi/sonic.c | 380 ++++++++++++++++-----------
drivers/net/ethernet/natsemi/sonic.h | 44 +++-
2 files changed, 262 insertions(+), 162 deletions(-)

--
2.24.1