work
Wait until work has finished execution. This function considers only the last queueing instance of work. If work has been enqueued across different CPUs on a non-reentrant workqueue or on multiple workqueues, work might still be executing on return on some of the CPUs from earlier queueing.
If work was queued only on a non-reentrant, ordered or unbound workqueue, work is guaranteed to be idle on return if it hasn't been requeued since flush started.
true if flush_work waited for the work to finish execution, false if it was already idle.