> -----Original Message----- > From: Intel-wired-lan <[email protected]> On Behalf Of > Grzegorz Nitka > Sent: 20 October 2025 15:32 > To: [email protected] > Cc: Loktionov, Aleksandr <[email protected]>; > [email protected]; [email protected] > Subject: [Intel-wired-lan] [PATCH v2 iwl-net] ice: fix PTP cleanup on driver > removal in error path > > Improve the cleanup on releasing PTP resources in error path. > The error case might happen either at the driver probe and PTP feature > initialization or on PTP restart (errors in reset handling, NVM update etc). > In both cases, calls to PF PTP cleanup (ice_ptp_cleanup_pf > function) and 'ps_lock' mutex deinitialization were missed. > Additionally, ptp clock was not unregistered in the latter case. > > Keep PTP state as 'uninitialized' on init to distinguish between error > scenarios and to avoid resource release duplication at driver removal. > > The consequence of missing ice_ptp_cleanup_pf call is the following call > trace dumped when ice_adapter object is freed (port list is not empty, as it > is required at this stage): > > [ T93022] ------------[ cut here ]------------ [ T93022] WARNING: CPU: 10 > PID: 93022 at > ice/ice_adapter.c:67 ice_adapter_put+0xef/0x100 [ice] ... > [ T93022] RIP: 0010:ice_adapter_put+0xef/0x100 [ice] ... > [ T93022] Call Trace: > [ T93022] <TASK> > [ T93022] ? ice_adapter_put+0xef/0x100 [ice > 33d2647ad4f6d866d41eefff1806df37c68aef0c] > [ T93022] ? __warn.cold+0xb0/0x10e > [ T93022] ? ice_adapter_put+0xef/0x100 [ice > 33d2647ad4f6d866d41eefff1806df37c68aef0c] > [ T93022] ? report_bug+0xd8/0x150 > [ T93022] ? handle_bug+0xe9/0x110 > [ T93022] ? exc_invalid_op+0x17/0x70 > [ T93022] ? asm_exc_invalid_op+0x1a/0x20 [ T93022] ? > ice_adapter_put+0xef/0x100 [ice 33d2647ad4f6d866d41eefff1806df37c68aef0c] > [ T93022] pci_device_remove+0x42/0xb0 > [ T93022] device_release_driver_internal+0x19f/0x200 > [ T93022] driver_detach+0x48/0x90 > [ T93022] bus_remove_driver+0x70/0xf0 > [ T93022] pci_unregister_driver+0x42/0xb0 [ T93022] > ice_module_exit+0x10/0xdb0 [ice 33d2647ad4f6d866d41eefff1806df37c68aef0c] > ... > [ T93022] ---[ end trace 0000000000000000 ]--- [ T93022] ice: module > unloaded > > Fixes: e800654e85b5 ("ice: Use ice_adapter for PTP shared data instead of > auxdev") > Signed-off-by: Grzegorz Nitka <[email protected]> > Reviewed-by: Aleksandr Loktionov <[email protected]> > --- > v1->v2: > - rebased > - complete full cleanup if failure in PTP intialization path (no need > to do a cleanup on PTP release then) and added a comment with clarification > why keeping PTP_UNINIT state on failure at init > - setting ptp->clock to NULL explicitly in error path > --- > drivers/net/ethernet/intel/ice/ice_ptp.c | 22 +++++++++++++++++++--- > 1 file changed, 19 insertions(+), 3 deletions(-) >
Tested-by: Rinitha S <[email protected]> (A Contingent worker at Intel)
