@@ -5151,6 +5151,13 @@ int ice_load(struct ice_pf *pf)
devl_assert_locked(priv_to_devlink(pf));
+ if (pf->hw.fwlog_cfg.options & ICE_FWLOG_OPTION_IS_REGISTERED) {
+ err = ice_fwlog_register(&pf->hw);
+ if (err)
+ pf->hw.fwlog_cfg.options &=
+ ~ICE_FWLOG_OPTION_IS_REGISTERED;
+ }
+
vsi = ice_get_main_vsi(pf);
/* init channel list */
@@ -7701,6 +7708,13 @@ static void ice_rebuild(struct ice_pf *pf, enum ice_reset_req reset_type)
goto err_init_ctrlq;
}
+ if (hw->fwlog_cfg.options & ICE_FWLOG_OPTION_IS_REGISTERED) {
+ err = ice_fwlog_register(hw);
+ if (err)
+ hw->fwlog_cfg.options &=
+ ~ICE_FWLOG_OPTION_IS_REGISTERED;
+ }
+
/* if DDP was previously loaded successfully */
if (!ice_is_safe_mode(pf)) {
/* reload the SW DB of filter tables */