On 1/29/2024 4:32 AM, Wojciech Drewek wrote:
Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding. Recent changes to the devlink reload (commit 9b2348e2d6c9 ("devlink: warn about existing entities during reload-reinit")) force the drivers to destroy devlink ports during reinit. Adjust ice driver to this requirement, unregister netdvice, destroy devlink port. ice_init_eth() was removed and all the common code between probe and reload was moved to ice_load(). During devlink reload we can't take devl_lock (it's already taken) and in ice_probe() we have to lock it. Use devl_* variant of the API which does not acquire and release devl_lock. Guard ice_load() with devl_lock only in case of probe. Introduce ice_debugfs_fwlog_deinit() in order to release PF's debugfs entries. Move ice_debugfs_exit() call to ice_module_exit().
Nit, but the function is no longer ice_debugfs_fwlog_deinit() as it changed from v2->v3.
Other than that, LGTM. Reviewed-by: Brett Creeley <brett.cree...@amd.com>
Suggested-by: Jiri Pirko <j...@nvidia.com> Reviewed-by: Przemek Kitszel <przemyslaw.kits...@intel.com> Reviewed-by: Vadim Fedorenko <vadim.fedore...@linux.dev> Reviewed-by: Simon Horman <ho...@kernel.org> Signed-off-by: Wojciech Drewek <wojciech.dre...@intel.com> --- v2: empty init removed in ice_devlink_reinit_up v3: refactor locking pattern as Brett suggested --- drivers/net/ethernet/intel/ice/ice.h | 3 + drivers/net/ethernet/intel/ice/ice_debugfs.c | 10 + drivers/net/ethernet/intel/ice/ice_devlink.c | 68 ++++++- drivers/net/ethernet/intel/ice/ice_fwlog.c | 2 + drivers/net/ethernet/intel/ice/ice_main.c | 189 ++++++------------- 5 files changed, 139 insertions(+), 133 deletions(-)
[...]