mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
net/mlx5e: Schedule overflow check work to mlx5e workqueue
[ Upstream commitf08c39ed0b] This is done in order to ensure that work will not run after the cleanup. Fixes:ef9814deaf('net/mlx5e: Add HW timestamping (TS) support') Signed-off-by: Eugenia Emantayev <eugenia@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
862ade9a43
commit
33e25b2168
@@ -62,13 +62,14 @@ static void mlx5e_timestamp_overflow(struct work_struct *work)
|
||||
struct delayed_work *dwork = to_delayed_work(work);
|
||||
struct mlx5e_tstamp *tstamp = container_of(dwork, struct mlx5e_tstamp,
|
||||
overflow_work);
|
||||
struct mlx5e_priv *priv = container_of(tstamp, struct mlx5e_priv, tstamp);
|
||||
unsigned long flags;
|
||||
|
||||
write_lock_irqsave(&tstamp->lock, flags);
|
||||
timecounter_read(&tstamp->clock);
|
||||
write_unlock_irqrestore(&tstamp->lock, flags);
|
||||
schedule_delayed_work(&tstamp->overflow_work,
|
||||
msecs_to_jiffies(tstamp->overflow_period * 1000));
|
||||
queue_delayed_work(priv->wq, &tstamp->overflow_work,
|
||||
msecs_to_jiffies(tstamp->overflow_period * 1000));
|
||||
}
|
||||
|
||||
int mlx5e_hwstamp_set(struct net_device *dev, struct ifreq *ifr)
|
||||
@@ -264,7 +265,7 @@ void mlx5e_timestamp_init(struct mlx5e_priv *priv)
|
||||
|
||||
INIT_DELAYED_WORK(&tstamp->overflow_work, mlx5e_timestamp_overflow);
|
||||
if (tstamp->overflow_period)
|
||||
schedule_delayed_work(&tstamp->overflow_work, 0);
|
||||
queue_delayed_work(priv->wq, &tstamp->overflow_work, 0);
|
||||
else
|
||||
mlx5_core_warn(priv->mdev, "invalid overflow period, overflow_work is not scheduled\n");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user