Mon, Sep 14, 2020 at 08:07:57AM CEST, mo...@mellanox.com wrote: [..]
>+static void mlx5_fw_reset_complete_reload(struct mlx5_core_dev *dev) >+{ >+ struct mlx5_fw_reset *fw_reset = dev->priv.fw_reset; >+ >+ /* if this is the driver that initiated the fw reset, devlink completed >the reload */ >+ if (test_bit(MLX5_FW_RESET_FLAGS_PENDING_COMP, &fw_reset->reset_flags)) >{ >+ complete(&fw_reset->done); >+ } else { >+ mlx5_load_one(dev, false); >+ devlink_reload_implicit_actions_performed(priv_to_devlink(dev), >+ >DEVLINK_RELOAD_ACTION_LIMIT_LEVEL_NONE, >+ >BIT(DEVLINK_RELOAD_ACTION_DRIVER_REINIT) | >+ >BIT(DEVLINK_RELOAD_ACTION_FW_ACTIVATE)); Hmm, who originated the reset? Devlink_reload of the same devlink instance? [..]