On Fri, Nov 06, 2026 at 09:40:12AM +0000, Ciara Loftus wrote:
> iavf_dev_watchdog_enable() runs on the interrupt thread from the link
> change and reset impending handlers, while iavf_dev_watchdog_disable()
> runs on a control thread from dev_stop and dev_close. Disable clears
> `watchdog_enabled` before cancelling the alarm. An enable landing in
> between sets the flag again and arms a new alarm, which the cancel then
> removes. The flag is left set with no alarm armed, so every later enable
> is a no-op and the watchdog is dead until the port is re-probed.
> 
> Serialise enable and disable with a spinlock held across the flag
> update and the alarm set or cancel.
> 
> Fixes: 4c9b1d2ff616 ("net/iavf: refactor watchdog")
> Cc: [email protected]
> 
> Signed-off-by: Ciara Loftus <[email protected]>
> ---
>  drivers/net/intel/iavf/iavf.h        |  1 +
>  drivers/net/intel/iavf/iavf_ethdev.c | 37 +++++++++++++++++-----------
>  2 files changed, 23 insertions(+), 15 deletions(-)
> 
Acked-by: Bruce Richardson <[email protected]>

Reply via email to