From 9ced82b0480b0575023c837d98223276223f36ea Mon Sep 17 00:00:00 2001 From: Luiz Capitulino Date: Mon, 20 Mar 2006 22:17:00 -0800 Subject: [PATCH] --- yaml --- r: 22237 b: refs/heads/master c: 12e1872328e7055d06e539f1b687dc3d0610855c h: refs/heads/master i: 22235: aa42a0405eb5e4e5ab5f150356f375a15f2f6bad v: v3 --- [refs] | 2 +- trunk/net/core/pktgen.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 8ea2145dc84b..79bc8a740e16 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: cdcdbe0b179adca0bcf98f660fcc63e208ae4284 +refs/heads/master: 12e1872328e7055d06e539f1b687dc3d0610855c diff --git a/trunk/net/core/pktgen.c b/trunk/net/core/pktgen.c index f2c0e965c139..eef1392b7f8e 100644 --- a/trunk/net/core/pktgen.c +++ b/trunk/net/core/pktgen.c @@ -3082,6 +3082,7 @@ static struct pktgen_thread *__init pktgen_find_thread(const char *name) static int __init pktgen_create_thread(const char *name, int cpu) { + int err; struct pktgen_thread *t = NULL; struct proc_dir_entry *pe; @@ -3120,9 +3121,15 @@ static int __init pktgen_create_thread(const char *name, int cpu) t->removed = 0; - if (kernel_thread((void *)pktgen_thread_worker, (void *)t, - CLONE_FS | CLONE_FILES | CLONE_SIGHAND) < 0) + err = kernel_thread((void *)pktgen_thread_worker, (void *)t, + CLONE_FS | CLONE_FILES | CLONE_SIGHAND); + if (err < 0) { printk("pktgen: kernel_thread() failed for cpu %d\n", t->cpu); + remove_proc_entry(t->name, pg_proc_dir); + list_del(&t->th_list); + kfree(t); + return err; + } return 0; }