pktgen.c (ce55c22ec8b223a90ff3e084d842f73cfba35588) pktgen.c (a9da6ddaef9ef7d9afd3f89e447c60e38f74bf44)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Authors:
4 * Copyright 2001, 2002 by Robert Olsson <robert.olsson@its.uu.se>
5 * Uppsala University and
6 * Swedish University of Agricultural Sciences
7 *
8 * Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>

--- 3968 unchanged lines hidden (view full) ---

3977
3978 mutex_lock(&pktgen_thread_lock);
3979 list_splice_init(&pn->pktgen_threads, &list);
3980 mutex_unlock(&pktgen_thread_lock);
3981
3982 list_for_each_safe(q, n, &list) {
3983 t = list_entry(q, struct pktgen_thread, th_list);
3984 list_del(&t->th_list);
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Authors:
4 * Copyright 2001, 2002 by Robert Olsson <robert.olsson@its.uu.se>
5 * Uppsala University and
6 * Swedish University of Agricultural Sciences
7 *
8 * Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>

--- 3968 unchanged lines hidden (view full) ---

3977
3978 mutex_lock(&pktgen_thread_lock);
3979 list_splice_init(&pn->pktgen_threads, &list);
3980 mutex_unlock(&pktgen_thread_lock);
3981
3982 list_for_each_safe(q, n, &list) {
3983 t = list_entry(q, struct pktgen_thread, th_list);
3984 list_del(&t->th_list);
3985 kthread_stop(t->tsk);
3986 put_task_struct(t->tsk);
3985 kthread_stop_put(t->tsk);
3987 kfree(t);
3988 }
3989
3990 remove_proc_entry(PGCTRL, pn->proc_dir);
3991 remove_proc_entry(PG_PROC_DIR, pn->net->proc_net);
3992}
3993
3994static struct pernet_operations pg_net_ops = {

--- 43 unchanged lines hidden ---
3986 kfree(t);
3987 }
3988
3989 remove_proc_entry(PGCTRL, pn->proc_dir);
3990 remove_proc_entry(PG_PROC_DIR, pn->net->proc_net);
3991}
3992
3993static struct pernet_operations pg_net_ops = {

--- 43 unchanged lines hidden ---