From: Finn Thain <fthain@telegraphics.com.au>
To: "David S. Miller" <davem@davemloft.net>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
Chris Zankel <chris@zankel.net>,
Laurent Vivier <laurent@vivier.eu>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH net 00/19] Fixes for SONIC ethernet driver
Date: Mon, 20 Jan 2020 09:56:09 +1100 [thread overview]
Message-ID: <cover.1579474569.git.fthain@telegraphics.com.au> (raw)
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
next reply other threads:[~2020-01-19 23:17 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-19 22:56 Finn Thain [this message]
2020-01-19 22:56 ` [PATCH net 04/19] net/sonic: Add mutual exclusion for accessing shared state Finn Thain
2020-01-20 8:29 ` Geert Uytterhoeven
2020-01-20 22:23 ` Finn Thain
2020-01-19 22:56 ` [PATCH net 06/19] net/macsonic: Remove interrupt handler wrapper Finn Thain
2020-01-19 22:56 ` [PATCH net 07/19] net/sonic: Clear interrupt flags immediately Finn Thain
2020-01-19 22:56 ` [PATCH net 13/19] net/sonic: Avoid needless receive descriptor EOL flag updates Finn Thain
2020-01-19 22:56 ` [PATCH net 16/19] net/sonic: Quiesce SONIC before re-initializing descriptor memory Finn Thain
2020-01-19 22:56 ` [PATCH net 15/19] net/sonic: Fix receive buffer replenishment Finn Thain
2020-01-19 22:56 ` [PATCH net 05/19] net/sonic: Remove redundant netif_start_queue() call Finn Thain
2020-01-19 22:56 ` [PATCH net 14/19] net/sonic: Improve receive descriptor status flag check Finn Thain
2020-01-19 22:56 ` [PATCH net 17/19] net/sonic: Fix command register usage Finn Thain
2020-01-19 22:56 ` [PATCH net 19/19] net/sonic: Prevent tx watchdog timeout Finn Thain
2020-01-19 22:56 ` [PATCH net 11/19] net/sonic: Fix interface error stats collection Finn Thain
2020-01-19 22:56 ` [PATCH net 03/19] net/sonic: Refactor duplicated code Finn Thain
2020-01-19 22:56 ` [PATCH net 08/19] net/sonic: Use MMIO accessors Finn Thain
2020-01-19 22:56 ` [PATCH net 01/19] net/sonic: Remove obsolete comment Finn Thain
2020-01-19 22:56 ` [PATCH net 10/19] net/sonic: Start packet transmission immediately Finn Thain
2020-01-19 22:56 ` [PATCH net 02/19] net/sonic: Remove redundant next_tx variable Finn Thain
2020-01-19 22:56 ` [PATCH net 18/19] net/sonic: Fix CAM initialization Finn Thain
2020-01-19 22:56 ` [PATCH net 09/19] net/sonic: Remove explicit memory barriers Finn Thain
2020-01-19 22:56 ` [PATCH net 12/19] net/sonic: Fix receive buffer handling Finn Thain
2020-01-20 10:06 ` [PATCH net 00/19] Fixes for SONIC ethernet driver David Miller
2020-01-20 23:28 ` Finn Thain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1579474569.git.fthain@telegraphics.com.au \
--to=fthain@telegraphics.com.au \
--cc=chris@zankel.net \
--cc=davem@davemloft.net \
--cc=laurent@vivier.eu \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=tsbogend@alpha.franken.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).