X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kernel%2Fworkqueue.c;h=a3de837a8dddf7fc0f10daf53b5d1d5fe90928e8;hb=5e1efe4931bf7d95b2f3d48ca0b79ea0e8341cc2;hp=52ef419d274796383cb8e757349ea71fcedd8f34;hpb=1da177e4c3f41524e886b7f1b8a0c1fc7321cac2;p=linux-2.6 diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 52ef419d27..a3de837a8d 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -308,8 +308,6 @@ struct workqueue_struct *__create_workqueue(const char *name, struct workqueue_struct *wq; struct task_struct *p; - BUG_ON(strlen(name) > 10); - wq = kmalloc(sizeof(*wq), GFP_KERNEL); if (!wq) return NULL; @@ -429,12 +427,13 @@ void flush_scheduled_work(void) * @wq: the controlling workqueue structure * @work: the delayed work struct */ -static void cancel_rearming_delayed_workqueue(struct workqueue_struct *wq, - struct work_struct *work) +void cancel_rearming_delayed_workqueue(struct workqueue_struct *wq, + struct work_struct *work) { while (!cancel_delayed_work(work)) flush_workqueue(wq); } +EXPORT_SYMBOL(cancel_rearming_delayed_workqueue); /** * cancel_rearming_delayed_work - reliably kill off a delayed keventd @@ -500,7 +499,7 @@ static int __devinit workqueue_cpu_callback(struct notifier_block *nfb, case CPU_UP_PREPARE: /* Create a new workqueue thread for it. */ list_for_each_entry(wq, &workqueues, list) { - if (create_workqueue_thread(wq, hotcpu) < 0) { + if (!create_workqueue_thread(wq, hotcpu)) { printk("workqueue for %i failed\n", hotcpu); return NOTIFY_BAD; }