[PATCH net 00/19] Fixes for SONIC ethernet driver

From: Finn Thain
Date: Sun Jan 19 2020 - 18:16:52 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. Several cleanup patches are
included at the beginning.

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


Finn Thain (19):
net/sonic: Remove obsolete comment
net/sonic: Remove redundant next_tx variable
net/sonic: Refactor duplicated code
net/sonic: Add mutual exclusion for accessing shared state
net/sonic: Remove redundant netif_start_queue() call
net/macsonic: Remove interrupt handler wrapper
net/sonic: Clear interrupt flags immediately
net/sonic: Use MMIO accessors
net/sonic: Remove explicit memory barriers
net/sonic: Start packet transmission immediately
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/jazzsonic.c | 31 +-
drivers/net/ethernet/natsemi/macsonic.c | 48 +--
drivers/net/ethernet/natsemi/sonic.c | 433 ++++++++++++++---------
drivers/net/ethernet/natsemi/sonic.h | 45 ++-
drivers/net/ethernet/natsemi/xtsonic.c | 40 +--
5 files changed, 313 insertions(+), 284 deletions(-)

--
2.24.1