]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ice: ptp: serialize E825 PHY timer start with PTP lock
authorGrzegorz Nitka <grzegorz.nitka@intel.com>
Fri, 15 May 2026 18:24:11 +0000 (11:24 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 19 May 2026 02:00:43 +0000 (19:00 -0700)
commit781ff8f2d575a794a2a4f11605288ae06757f5eb
treee06f177dc320cb4c630382079d91071b335e6943
parentebc8de716c9ec2be384abdc2dd866da26c6580d1
ice: ptp: serialize E825 PHY timer start with PTP lock

ice_start_phy_timer_eth56g() programs TIMETUS registers and issues
INIT_INCVAL without holding the global PTP semaphore.

This allows concurrent PTP command paths to interleave with PHY timer
start, which can make the sequence fail and leave timer initialization
inconsistent.

Take the PTP lock around TIMETUS registers programming and INIT_INCVAL
command execution, and make sure the lock is released on all error paths.

Keep the subsequent sync step outside of this critical section, since
ice_sync_phy_timer_eth56g() takes the same semaphore internally.

Fixes: 7cab44f1c35f ("ice: Introduce ETH56G PHY model for E825C products")
Reviewed-by: Arkadiusz Kubalewski <Arkadiusz.kubalewski@intel.com>
Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Tested-by: Alexander Nowlin <alexander.nowlin@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Link: https://patch.msgid.link/20260515182419.1597859-5-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/ice/ice_ptp_hw.c