summaryrefslogtreecommitdiffstats
path: root/drivers/ptp
diff options
context:
space:
mode:
authorVladimir Oltean <olteanv@gmail.com>2019-12-27 15:02:28 +0200
committerDavid S. Miller <davem@davemloft.net>2019-12-30 20:31:40 -0800
commit544fed47af4d2174ac0b550e9c8da15c2dfdb117 (patch)
tree5a8edec5ce8eeb87738109c4bca5fa833dfba124 /drivers/ptp
parentdb99d5126fb9067c3123b40a33c9936235f059fa (diff)
downloadlinux-544fed47af4d2174ac0b550e9c8da15c2dfdb117.tar.bz2
ptp: introduce ptp_cancel_worker_sync
In order to effectively use the PTP kernel thread for tasks such as timestamping packets, allow the user control over stopping it, which is needed e.g. when the timestamping queues must be drained. Signed-off-by: Vladimir Oltean <olteanv@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/ptp')
-rw-r--r--drivers/ptp/ptp_clock.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c
index e60eab7f8a61..4f0d91a76dcb 100644
--- a/drivers/ptp/ptp_clock.c
+++ b/drivers/ptp/ptp_clock.c
@@ -371,6 +371,12 @@ int ptp_schedule_worker(struct ptp_clock *ptp, unsigned long delay)
}
EXPORT_SYMBOL(ptp_schedule_worker);
+void ptp_cancel_worker_sync(struct ptp_clock *ptp)
+{
+ kthread_cancel_delayed_work_sync(&ptp->aux_work);
+}
+EXPORT_SYMBOL(ptp_cancel_worker_sync);
+
/* module operations */
static void __exit ptp_exit(void)