> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of Paul 
> Greenwalt
> Sent: 18 December 2025 19:07
> To: [email protected]
> Cc: Kitszel, Przemyslaw <[email protected]>; Greenwalt, Paul 
> <[email protected]>; Loktionov, Aleksandr 
> <[email protected]>
> Subject: [Intel-wired-lan] [PATCH iwl-net v1] ice: add missing 
> ice_deinit_hw() in devlink reinit path
>
> devlink-reload results in ice_init_hw failed error, and then removing the ice 
> driver causes a NULL pointer dereference.
>
> [  +0.102213] ice 0000:ca:00.0: ice_init_hw failed: -16 ...
> [  +0.000001] Call Trace:
> [  +0.000003]  <TASK>
> [  +0.000006]  ice_unload+0x8f/0x100 [ice] [  +0.000081]  
> ice_remove+0xba/0x300 [ice]
>
> Commit 1390b8b3d2be ("ice: remove duplicate call to ice_deinit_hw() on error 
> paths") removed ice_deinit_hw() from ice_deinit_dev(). As a result
> ice_devlink_reinit_down() no longer calls ice_deinit_hw(), but
> ice_devlink_reinit_up() still calls ice_init_hw(). Since the control queues 
> are not uninitialized, ice_init_hw() fails with -EBUSY.
>
> Add ice_deinit_hw() to ice_devlink_reinit_down() to correspond with
> ice_init_hw() in ice_devlink_reinit_up().
>
> Fixes: 1390b8b3d2be ("ice: remove duplicate call to ice_deinit_hw() on error 
> paths")
> Reviewed-by: Aleksandr Loktionov <[email protected]>
> Reviewed-by: Przemek Kitszel <[email protected]>
> Signed-off-by: Paul Greenwalt <[email protected]>
> ---
> drivers/net/ethernet/intel/ice/devlink/devlink.c | 1 +
> 1 file changed, 1 insertion(+)
>

Tested-by: Rinitha S <[email protected]> (A Contingent worker at Intel)

Reply via email to