Merge tag 'v5.19-rc2' into android-mainline

Linux 5.19-rc2

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ic779cc646d8cddea65010ea1959888a69cea274b
This commit is contained in:
Greg Kroah-Hartman 2022-07-08 11:01:39 +02:00
commit 5d6fa60639
21 changed files with 145 additions and 54 deletions

View file

@ -2792,13 +2792,13 @@ static bool flush_workqueue_prep_pwqs(struct workqueue_struct *wq,
}
/**
* flush_workqueue - ensure that any scheduled work has run to completion.
* __flush_workqueue - ensure that any scheduled work has run to completion.
* @wq: workqueue to flush
*
* This function sleeps until all work items which were queued on entry
* have finished execution, but it is not livelocked by new incoming ones.
*/
void flush_workqueue(struct workqueue_struct *wq)
void __flush_workqueue(struct workqueue_struct *wq)
{
struct wq_flusher this_flusher = {
.list = LIST_HEAD_INIT(this_flusher.list),
@ -2947,7 +2947,7 @@ void flush_workqueue(struct workqueue_struct *wq)
out_unlock:
mutex_unlock(&wq->mutex);
}
EXPORT_SYMBOL(flush_workqueue);
EXPORT_SYMBOL(__flush_workqueue);
/**
* drain_workqueue - drain a workqueue
@ -2975,7 +2975,7 @@ void drain_workqueue(struct workqueue_struct *wq)
wq->flags |= __WQ_DRAINING;
mutex_unlock(&wq->mutex);
reflush:
flush_workqueue(wq);
__flush_workqueue(wq);
mutex_lock(&wq->mutex);
@ -6116,3 +6116,11 @@ void __init workqueue_init(void)
wq_online = true;
wq_watchdog_init();
}
/*
* Despite the naming, this is a no-op function which is here only for avoiding
* link error. Since compile-time warning may fail to catch, we will need to
* emit run-time warning from __flush_workqueue().
*/
void __warn_flushing_systemwide_wq(void) { }
EXPORT_SYMBOL(__warn_flushing_systemwide_wq);