diff options
| author | Andrii Staikov <[email protected]> | 2025-04-10 13:00:08 +0000 |
|---|---|---|
| committer | Tony Nguyen <[email protected]> | 2025-04-15 14:36:33 +0000 |
| commit | 4811b0c220f212ff0b35da0d9fc993bce87868c0 (patch) | |
| tree | c811724e5185914f9206c3cd55a55893da4dcbd2 /drivers/net/ethernet/intel/ixgbe/devlink/devlink.c | |
| parent | ixgbe: add E610 implementation of FW recovery mode (diff) | |
| download | kernel-4811b0c220f212ff0b35da0d9fc993bce87868c0.tar.gz kernel-4811b0c220f212ff0b35da0d9fc993bce87868c0.zip | |
ixgbe: add support for FW rollback mode
The driver should detect whether the device entered FW rollback
mode and then notify user with the dedicated message including
FW and NVM versions.
Even if the driver detected rollback mode, this should not result
in an probe error and the normal flow proceeds.
FW tries to rollback to "old" operational FW located in the
inactive NVM bank in cases when newly loaded FW exhibits faulty
behavior. If something goes wrong during boot the FW may switch
into rollback mode in an attempt to avoid recovery mode and stay
operational. After rollback is successful, the banks are swapped,
and the "rollback" bank becomes the active bank for the next reset.
Reviewed-by: Mateusz Polchlopek <[email protected]>
Signed-off-by: Andrii Staikov <[email protected]>
Signed-off-by: Jedrzej Jagielski <[email protected]>
Signed-off-by: Tony Nguyen <[email protected]>
Diffstat (limited to 'drivers/net/ethernet/intel/ixgbe/devlink/devlink.c')
| -rw-r--r-- | drivers/net/ethernet/intel/ixgbe/devlink/devlink.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/devlink/devlink.c b/drivers/net/ethernet/intel/ixgbe/devlink/devlink.c index 3e79e446a944..54f1b83dfe42 100644 --- a/drivers/net/ethernet/intel/ixgbe/devlink/devlink.c +++ b/drivers/net/ethernet/intel/ixgbe/devlink/devlink.c @@ -471,7 +471,8 @@ static int ixgbe_devlink_reload_empr_finish(struct devlink *devlink, *actions_performed = BIT(DEVLINK_RELOAD_ACTION_FW_ACTIVATE); - adapter->flags2 &= ~IXGBE_FLAG2_API_MISMATCH; + adapter->flags2 &= ~(IXGBE_FLAG2_API_MISMATCH | + IXGBE_FLAG2_FW_ROLLBACK); return 0; } |
