]> git.ipfire.org Git - thirdparty/linux.git/commit
ice: move ice_deinit_dev() to the end of deinit paths
authorPrzemek Kitszel <przemyslaw.kitszel@intel.com>
Fri, 12 Sep 2025 13:06:26 +0000 (15:06 +0200)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 24 Oct 2025 20:27:20 +0000 (13:27 -0700)
commit8a37f9e2ff40f4a4fa8def22febefe4daf58e573
treef6262f25be66fc3041d45bdb3849f723853730d1
parentc2fb9398f73d41cb2b5da74ff505578525ee3fd8
ice: move ice_deinit_dev() to the end of deinit paths

ice_deinit_dev() takes care of turning off adminq processing, which is
much needed during driver teardown (remove, reset, error path). Move it
to the very end where applicable.
For example, ice_deinit_hw() called after adminq deinit slows rmmod on
my two-card setup by about 60 seconds.

ice_init_dev() and ice_deinit_dev() scopes were reduced by previous
commits of the series, with a final touch of extracting ice_init_dev_hw()
out now (there is no deinit counterpart).

Note that removed ice_service_task_stop() call from ice_remove() is placed
in the ice_deinit_dev() (and stopping twice makes no sense).

Signed-off-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/ice/devlink/devlink.c
drivers/net/ethernet/intel/ice/ice.h
drivers/net/ethernet/intel/ice/ice_common.c
drivers/net/ethernet/intel/ice/ice_main.c