diff options
author | Martijn Coenen <maco@android.com> | 2017-08-14 23:11:29 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-08-14 23:11:29 +0000 |
commit | 681299c466ef194e9a64c09bb2adf3dc99514d42 (patch) | |
tree | fb3c89488b3b6cd16957c55cc47315d6c9af0eec | |
parent | 8a0093840dee3c36e4487b9617683495761eab2c (diff) | |
parent | f2278c7ea2133ede0c173f7f3817ae50638614d2 (diff) | |
download | v4.4-681299c466ef194e9a64c09bb2adf3dc99514d42.tar.gz |
ANDROID: binder: don't queue async transactions to thread. am: 6f227409a1
am: f2278c7ea2
Change-Id: I540e98546c737b89733a51e84da12e9fb8d2c0b6
-rw-r--r-- | drivers/android/binder.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/android/binder.c b/drivers/android/binder.c index 061a7258779e..bfdd52ea0d1c 100644 --- a/drivers/android/binder.c +++ b/drivers/android/binder.c @@ -3522,11 +3522,13 @@ static int binder_thread_write(struct binder_proc *proc, BUG_ON(buf_node->proc != proc); w = binder_dequeue_work_head_ilocked( &buf_node->async_todo); - if (!w) + if (!w) { buf_node->has_async_transaction = 0; - else + } else { binder_enqueue_work_ilocked( - w, &thread->todo); + w, &proc->todo); + binder_wakeup_proc_ilocked(proc); + } binder_node_inner_unlock(buf_node); } trace_binder_transaction_buffer_release(buffer); |