From 92af026cf8d958b51f83c328e895b4582d04a77e Mon Sep 17 00:00:00 2001 From: Luiz Capitulino Date: Mon, 20 Mar 2006 22:17:55 -0800 Subject: [PATCH] --- yaml --- r: 22238 b: refs/heads/master c: 8024bb245408060bec8393469e945b541a9b0865 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/core/pktgen.c | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 79bc8a740e16..59b755053bc3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 12e1872328e7055d06e539f1b687dc3d0610855c +refs/heads/master: 8024bb245408060bec8393469e945b541a9b0865 diff --git a/trunk/net/core/pktgen.c b/trunk/net/core/pktgen.c index eef1392b7f8e..fda403419ff2 100644 --- a/trunk/net/core/pktgen.c +++ b/trunk/net/core/pktgen.c @@ -3216,11 +3216,24 @@ static int __init pg_init(void) register_netdevice_notifier(&pktgen_notifier_block); for_each_online_cpu(cpu) { + int err; char buf[30]; sprintf(buf, "kpktgend_%i", cpu); - pktgen_create_thread(buf, cpu); + err = pktgen_create_thread(buf, cpu); + if (err) + printk("pktgen: WARNING: Cannot create thread for cpu %d (%d)\n", + cpu, err); } + + if (list_empty(&pktgen_threads)) { + printk("pktgen: ERROR: Initialization failed for all threads\n"); + unregister_netdevice_notifier(&pktgen_notifier_block); + remove_proc_entry(PGCTRL, pg_proc_dir); + proc_net_remove(PG_PROC_DIR); + return -ENODEV; + } + return 0; }