diff options
| author | Thomas Zimmermann <[email protected]> | 2024-02-07 12:01:19 +0000 |
|---|---|---|
| committer | Thomas Zimmermann <[email protected]> | 2024-02-07 12:02:20 +0000 |
| commit | 0e85f1ae4ac6dae238b0f35232d1aa52e1b6943f (patch) | |
| tree | 75b387bc359637c15b90ababb1ff073ca68b5bd8 /drivers/android/binder.c | |
| parent | drm: mipi-dsi: make mipi_dsi_bus_type const (diff) | |
| parent | Merge tag 'drm-misc-next-2024-01-11' of git://anongit.freedesktop.org/drm/drm... (diff) | |
| download | kernel-0e85f1ae4ac6dae238b0f35232d1aa52e1b6943f.tar.gz kernel-0e85f1ae4ac6dae238b0f35232d1aa52e1b6943f.zip | |
Merge drm/drm-next into drm-misc-next
Backmerging to update drm-misc-next to the state of v6.8-rc3. Also
fixes a build problem with xe.
Signed-off-by: Thomas Zimmermann <[email protected]>
Diffstat (limited to 'drivers/android/binder.c')
| -rw-r--r-- | drivers/android/binder.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/android/binder.c b/drivers/android/binder.c index 8dd23b19e997..eca24f41556d 100644 --- a/drivers/android/binder.c +++ b/drivers/android/binder.c @@ -478,6 +478,16 @@ binder_enqueue_thread_work_ilocked(struct binder_thread *thread, { WARN_ON(!list_empty(&thread->waiting_thread_node)); binder_enqueue_work_ilocked(work, &thread->todo); + + /* (e)poll-based threads require an explicit wakeup signal when + * queuing their own work; they rely on these events to consume + * messages without I/O block. Without it, threads risk waiting + * indefinitely without handling the work. + */ + if (thread->looper & BINDER_LOOPER_STATE_POLL && + thread->pid == current->pid && !thread->process_todo) + wake_up_interruptible_sync(&thread->wait); + thread->process_todo = true; } |
