FastLinQ devices as a complex systems may observe various hardware level error conditions, both severe and recoverable.
Driver is able to detect and report this, but so far it only did trace/dmesg based reporting. Here we implement an extended hw error detection, service task handler captures a dump for the later analysis. I also resubmit a patch from Denis Bolotin on tx timeout handler, addressing David's comment regarding recovery procedure as an extra reaction on this event. Denis Bolotin (1): net: qede: Implement ndo_tx_timeout Igor Russkikh (11): net: qed: adding hw_err states and handling net: qede: add hw err scheduled handler net: qed: invoke err notify on critical areas net: qed: critical err reporting to management firmware net: qed: cleanup debug related declarations net: qed: gather debug data on hw errors net: qed: attention clearing properties net: qede: optional hw recovery procedure net: qed: introduce critical fan failure handler net: qed: introduce critical hardware error handler net: qed: fix bad formatting drivers/net/ethernet/qlogic/qed/qed.h | 18 +- drivers/net/ethernet/qlogic/qed/qed_debug.c | 102 ++++++- drivers/net/ethernet/qlogic/qed/qed_debug.h | 1 + drivers/net/ethernet/qlogic/qed/qed_dev.c | 4 +- drivers/net/ethernet/qlogic/qed/qed_hsi.h | 49 +++- drivers/net/ethernet/qlogic/qed/qed_hw.c | 42 ++- drivers/net/ethernet/qlogic/qed/qed_hw.h | 15 ++ drivers/net/ethernet/qlogic/qed/qed_int.c | 40 ++- drivers/net/ethernet/qlogic/qed/qed_int.h | 11 + drivers/net/ethernet/qlogic/qed/qed_main.c | 35 +++ drivers/net/ethernet/qlogic/qed/qed_mcp.c | 254 ++++++++++++++++++ drivers/net/ethernet/qlogic/qed/qed_mcp.h | 28 ++ drivers/net/ethernet/qlogic/qed/qed_spq.c | 16 +- drivers/net/ethernet/qlogic/qede/qede.h | 14 +- .../net/ethernet/qlogic/qede/qede_ethtool.c | 24 ++ drivers/net/ethernet/qlogic/qede/qede_main.c | 150 ++++++++++- include/linux/qed/qed_if.h | 27 +- 17 files changed, 784 insertions(+), 46 deletions(-) -- 2.25.1