summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/pensando
diff options
context:
space:
mode:
authorShannon Nelson <shannon.nelson@amd.com>2024-05-29 02:02:54 +0200
committerJakub Kicinski <kuba@kernel.org>2024-05-31 03:10:34 +0200
commit8097a2f3d21a672c772ca1919f253e611f2f0bad (patch)
treea7ad2ee2a2a775110aa16940038d9d1b55313352 /drivers/net/ethernet/pensando
parentionic: fix potential irq name truncation (diff)
downloadlinux-8097a2f3d21a672c772ca1919f253e611f2f0bad.tar.xz
linux-8097a2f3d21a672c772ca1919f253e611f2f0bad.zip
ionic: Reset LIF device while restarting LIF
Recovery from broken states can be hard. If the LIF reset in the fw_down path didn't work because the PCI link was broken, the FW won't be in the right state for proper restart. We can fire another LIF reset in the fw_up path to be sure things are clean on restart. Signed-off-by: Shannon Nelson <shannon.nelson@amd.com> Link: https://lore.kernel.org/r/20240529000259.25775-3-shannon.nelson@amd.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/pensando')
-rw-r--r--drivers/net/ethernet/pensando/ionic/ionic_lif.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
index 12fda3b860b9..101cbc088853 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
@@ -3388,6 +3388,7 @@ static void ionic_lif_handle_fw_up(struct ionic_lif *lif)
* just need to reanimate it.
*/
ionic_init_devinfo(ionic);
+ ionic_reset(ionic);
err = ionic_identify(ionic);
if (err)
goto err_out;