This series fixes several ixgbe error and reset codepaths. The first three patches are prerequisite fixes that make sure that the driver does not access hardware during the reset time when it is unavailable. These add the required availability checks etc.
The final patch adds missing handlers for PCI function reset through sysfs in the manner that is safe for ixgbe. It implements the PCI reset prepare and completion callbacks to quiesce and reinitialize the adapter. This prevents TX queue timeouts and other related problems caused by inconsistent hardware state after a sysfs-triggered PCI reset. Previous version: https://lore.kernel.org/intel-wired-lan/[email protected]/ v1->v2: Almost complete rework of the series to ensure safe reset procedure v2->v3: Split the netdev availability check refactoring into main and FCoE patches, tag -net and -next patches separately Sergey Temerkhanov (5): ixgbe: Refactor device operations to check whether netdev is available ixgbe: Defer FCoE queue rebuild while netdev is unavailable ixgbe: Fix FCoE refcount taking for unsupported adapters ixgbe: Restore previous XDP program on ixgbe_setup_tc() failure ixgbe: Implement PCI reset handler drivers/net/ethernet/intel/ixgbe/ixgbe.h | 6 + .../net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c | 13 +- .../net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 34 +-- drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c | 42 +++- drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.h | 1 + drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 193 +++++++++++++++++- drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c | 4 +- 7 files changed, 262 insertions(+), 31 deletions(-) -- 2.53.0
