> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf Of 
> Aleksandr Loktionov
> Sent: 27 March 2026 12:53
> To: [email protected]; Nguyen, Anthony L 
> <[email protected]>; Loktionov, Aleksandr 
> <[email protected]>
> Cc: [email protected]; Keller, Jacob E <[email protected]>; Jakub 
> Kicinski <[email protected]>
> Subject: [Intel-wired-lan] [PATCH net] ice: fix locking around 
> wait_event_interruptible_locked_irq
>
> From: Jacob Keller <[email protected]>
>
> Commit 50327223a8bb ("ice: add lock to protect low latency interface") 
> introduced a wait queue used to protect the low latency timer interface.
> The queue is used with the wait_event_interruptible_locked_irq macro, which 
> unlocks the wait queue lock while sleeping. The irq variant uses 
> spin_lock_irq and spin_unlock_irq to manage this. The wait queue lock was 
> previously locked using spin_lock_irqsave. This difference in lock variants 
> could lead to issues, since wait_event would unlock the wait queue and 
> restore interrupts while sleeping.
>
> The ice_read_phy_tstamp_ll_e810() function is ultimately called through 
> ice_read_phy_tstamp, which is called from ice_ptp_process_tx_tstamp or 
> ice_ptp_clear_unexpected_tx_ready. The former is called through the 
> miscellaneous IRQ thread function, while the latter is called from the 
> service task work queue thread. Neither of these functions has interrupts 
> disabled, so use spin_lock_irq instead of spin_lock_irqsave.
>
> Fixes: 50327223a8bb ("ice: add lock to protect low latency interface")
> Cc: [email protected]
> Reported-by: Jakub Kicinski <[email protected]>
> Closes: https://lore.kernel.org/netdev/[email protected]/
> Signed-off-by: Jacob Keller <[email protected]>
> Signed-off-by: Aleksandr Loktionov <[email protected]>
> ---
>
> drivers/net/ethernet/intel/ice/ice_ptp_hw.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>

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

Reply via email to