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
This commit is contained in:
Neel Chauhan 2022-06-21 19:13:19 -07:00
parent 5bd21cbbd1
commit 4f1d91e413

View file

@ -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);
}