Patch "net/mlx5e: Schedule overflow check work to mlx5e workqueue" has been added to the 4.12-stable tree
This is a note to let you know that I've just added the patch titled
net/mlx5e: Schedule overflow check work to mlx5e workqueue
to the 4.12-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
net-mlx5e-schedule-overflow-check-work-to-mlx5e-workqueue.patch
and it can be found in the queue-4.12 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Tue Aug 8 16:27:29 PDT 2017
From: Eugenia Emantayev <[email protected]>
Date: Wed, 12 Jul 2017 17:44:07 +0300
Subject: net/mlx5e: Schedule overflow check work to mlx5e workqueue
From: Eugenia Emantayev <[email protected]>
[ Upstream commit f08c39ed0bfb503c7b3e013cd40d036ce6a0941a ]
This is done in order to ensure that work will not run after the cleanup.
--- drivers/net/ethernet/mellanox/mlx5/core/en_clock.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
drivers/net/ethernet/mellanox/mlx5/core/en_clock.c +5 -6
@@ -114,13 +114,14 @@ static void mlx5e_timestamp_overflow(strstruct 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)
@@ -578,7 +579,7 @@ void mlx5e_timestamp_init(struct mlx5e_pINIT_WORK (&tstamp->pps_info.out_work, mlx5e_pps_out);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" );
@@ -614,8 +615,6 @@ void mlx5e_timestamp_cleanup(struct mlx5 }cancel_work_sync (&tstamp->pps_info.out_work); - -kfree (tstamp->ptp_info.pin_config); -cancel_delayed_work_sync (&tstamp->overflow_work); +kfree (tstamp->ptp_info.pin_config); }
Patches currently in stable-queue which might be from [email protected] are
queue-4.12/net-mlx5e-change-1pps-out-scheme.patch queue-4.12/net-mlx5e-schedule-overflow-check-work-to-mlx5e-workqueue.patch queue-4.12/net-mlx5e-fix-wrong-delay-calculation-for-overflow-check-scheduling.patch queue-4.12/net-mlx5e-add-missing-support-for-ptp_clk_req_pps-request.patch queue-4.12/net-mlx5e-fix-broken-disable-1pps-flow.patch queue-4.12/net-mlx5-fix-mlx5_ifc_mtpps_reg_bits-structure-size.patch queue-4.12/net-mlx5e-add-field-select-to-mtpps-register.patch