Netdev List
 help / color / mirror / Atom feed
* [net PATCH 0/4] eth: fbnic: a collection of fixes
@ 2026-09-02 22:31 Alexander Duyck
  2026-09-02 22:31 ` [net PATCH 1/4] fbnic: reset num_napi when the IRQ vectors are freed Alexander Duyck
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Alexander Duyck @ 2026-09-02 22:31 UTC (permalink / raw)
  To: netdev
  Cc: Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, kernel-team, Simon Horman

This series collects a handful of independent fbnic fixes for issues on
released kernels, plus one core ethtool fix needed by the fbnic offline
self test.

The first patch fixes a NULL pointer dereference on unbind after a failed
PCIe error recovery: fbnic_pm_suspend() frees the napi vectors via a
direct ndo_stop() while leaving netif_running() true, and when slot_reset
-> resume fails the data path is never re-allocated. To prevent the panic
we reset num_napi to 0 before we free the IRQs which prevents walking the
unallocated napi vectors when we unbind the interface later.

The next two patches address the FW mailbox. One sets AW_FLUSH_MODE
alongside AW_FLUSH when tearing down the Rx ring, so the write pipeline
actually drains the staged requests instead of hanging on the BME halt.
The other handles completions flagged with FW_ERR on both mailboxes,
which the driver previously ignored. This resulted in us parsing a stale Rx
page, and spinning the capabilities poll to a timeout on a healthy ring.

The last patch keeps rtnl_lock held on the ethtool ioctl path for the
self test. Since the ioctl path became rtnl-optional for ops-locked
drivers, fbnic's offline self test (which brings the interface down and
up via netif_close()/netif_open()) runs holding only the instance lock,
tripping a lockdep splat / ASSERT_RTNL and reconfiguring the device
without the lock it requires. An opt-in flag restores rtnl_lock for
drivers that need it.

---

Alexander Duyck (4):
      fbnic: reset num_napi when the IRQ vectors are freed
      fbnic: Set AW_FLUSH_MODE alongside AW_FLUSH when flushing the mailbox
      fbnic: Handle FW mailbox completions flagged with an error
      net: ethtool: keep rtnl_lock for the ioctl self test


 drivers/net/ethernet/meta/fbnic/fbnic_csr.h   |  5 +++
 .../net/ethernet/meta/fbnic/fbnic_debugfs.c   |  4 +--
 .../net/ethernet/meta/fbnic/fbnic_ethtool.c   |  3 +-
 drivers/net/ethernet/meta/fbnic/fbnic_fw.c    | 35 +++++++++++++++++--
 drivers/net/ethernet/meta/fbnic/fbnic_fw.h    |  1 +
 drivers/net/ethernet/meta/fbnic/fbnic_pci.c   | 18 +++++++---
 include/linux/ethtool.h                       |  2 ++
 net/ethtool/common.h                          |  2 ++
 8 files changed, 61 insertions(+), 9 deletions(-)

--


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-09-08 17:24 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-02 22:31 [net PATCH 0/4] eth: fbnic: a collection of fixes Alexander Duyck
2026-09-02 22:31 ` [net PATCH 1/4] fbnic: reset num_napi when the IRQ vectors are freed Alexander Duyck
2026-09-05 20:37   ` netdev-bot+sashiko
2026-09-02 22:31 ` [net PATCH 2/4] fbnic: Set AW_FLUSH_MODE alongside AW_FLUSH when flushing the mailbox Alexander Duyck
2026-09-05 20:37   ` netdev-bot+sashiko
2026-09-02 22:32 ` [net PATCH 3/4] fbnic: Handle FW mailbox completions flagged with an error Alexander Duyck
2026-09-05 20:37   ` netdev-bot+sashiko
2026-09-02 22:32 ` [net PATCH 4/4] net: ethtool: keep rtnl_lock for the ioctl self test Alexander Duyck
2026-09-05 20:37   ` netdev-bot+sashiko
2026-09-08  9:41 ` [net PATCH 0/4] eth: fbnic: a collection of fixes Paolo Abeni
2026-09-08  9:41 ` Paolo Abeni
2026-09-08 17:01   ` Alexander Duyck
2026-09-08 17:24     ` Paolo Abeni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox