aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeel Chauhan <nc@FreeBSD.org>2022-06-22 02:13:19 +0000
committerNeel Chauhan <nc@FreeBSD.org>2022-06-22 03:22:25 +0000
commit4f1d91e413d7e05f13f12d43a48178c023150dde (patch)
tree635c292f6fc0c7f594e47d1345da34a1476085d7
parent5bd21cbbd1df837ccc9fe7834f43636fd20d8792 (diff)
downloadsrc-4f1d91e413d7e05f13f12d43a48178c023150dde.tar.gz
src-4f1d91e413d7e05f13f12d43a48178c023150dde.zip
if_ix: Reset on an ECC error
This mirrors the Linux behavior as seen in the kernel commit d773ce2. Reviewed by: kbowling MFH after: 3 days Differential Revision: https://reviews.freebsd.org/D35542
-rw-r--r--sys/dev/ixgbe/if_ix.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c
index 364e08cc722a..ae5c65894f83 100644
--- a/sys/dev/ixgbe/if_ix.c
+++ b/sys/dev/ixgbe/if_ix.c
@@ -2537,7 +2537,9 @@ ixgbe_msix_link(void *arg)
} else
if (eicr & IXGBE_EICR_ECC) {
device_printf(iflib_get_dev(sc->ctx),
- "\nCRITICAL: ECC ERROR!! Please Reboot!!\n");
+ "Received ECC Err, initiating reset\n");
+ hw->mac.flags |= ~IXGBE_FLAGS_DOUBLE_RESET_REQUIRED;
+ ixgbe_reset_hw(hw);
IXGBE_WRITE_REG(hw, IXGBE_EICR, IXGBE_EICR_ECC);
}