workqueue: Make flush_workqueue() available again to non GPL modules
authorTim Gardner <tim.gardner@canonical.com>
Tue, 4 Aug 2015 17:26:04 +0000 (11:26 -0600)
committerTejun Heo <tj@kernel.org>
Tue, 4 Aug 2015 18:04:54 +0000 (14:04 -0400)
Commit 37b1ef31a568fc02e53587620226e5f3c66454c8 ("workqueue: move
flush_scheduled_work() to workqueue.h") moved the exported non GPL
flush_scheduled_work() from a function to an inline wrapper.
Unfortunately, it directly calls flush_workqueue() which is a GPL function.
This has the effect of changing the licensing requirement for this function
and makes it unavailable to non GPL modules.

See commit ad7b1f841f8a54c6d61ff181451f55b68175e15a ("workqueue: Make
schedule_work() available again to non GPL modules") for precedent.

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/workqueue.c

index 4c4f06176f748616b180254e94eda6bbed7dde25..a413acb59a07ee2072c3af2cc53aeaf347ac8b12 100644 (file)
@@ -2614,7 +2614,7 @@ void flush_workqueue(struct workqueue_struct *wq)
 out_unlock:
        mutex_unlock(&wq->mutex);
 }
-EXPORT_SYMBOL_GPL(flush_workqueue);
+EXPORT_SYMBOL(flush_workqueue);
 
 /**
  * drain_workqueue - drain a workqueue