work
Cancel work and wait for its execution to finish. This function can be used even if the work re-queues itself or migrates to another workqueue. On return from this function, work is guaranteed to be not pending or executing on any CPU.
cancel_work_sync(delayed_work->work) must not be used for delayed_work's. Use cancel_delayed_work_sync instead.
The caller must ensure that the workqueue on which work was last queued can't be destroyed before this function returns.
true if work was pending, false otherwise.