From: Brett Creeley If ionic_reset() fails, then the device either wasn't ready to be communicated with, the firmware is down, and/or the devcmd path is already torn down. For teardown/remove cases we can ignore the result of ionic_reset(). However, for any setup cases, we should take the result seriously. Note, older firmware always returns success for IONIC_CMD_RESET, so this change will not break those. However, newer firmware may return failure if the IONIC_CMD_RESET dev cmd fails. Fixes: 8097a2f3d21a ("ionic: Reset LIF device while restarting LIF") Signed-off-by: Brett Creeley Signed-off-by: Eric Joyner --- drivers/net/ethernet/pensando/ionic/ionic_lif.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c index 637e635bbf03..db4bbeda0b29 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c @@ -3473,7 +3473,9 @@ 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_reset(ionic); + if (err) + goto err_out; err = ionic_identify(ionic); if (err) goto err_out; -- 2.17.1