X-Git-Url: https://git.kernelconcepts.de/?a=blobdiff_plain;f=drivers%2Fandroid%2Fbinder.c;h=f7665c31fecaf3f46b64e17a821f9b8528def937;hb=dedaff2f6d0dd1e88022da6aaa3dbc97f7b5cf8b;hp=9393924ae8e862554aec5d0c5eba1083e20644c6;hpb=c4ea41ba195d01c9af66fb28711a16cc97caa9c5;p=karo-tx-linux.git diff --git a/drivers/android/binder.c b/drivers/android/binder.c index 9393924ae8e8..f7665c31feca 100644 --- a/drivers/android/binder.c +++ b/drivers/android/binder.c @@ -2200,8 +2200,12 @@ static void binder_transaction(struct binder_proc *proc, list_add_tail(&t->work.entry, target_list); tcomplete->type = BINDER_WORK_TRANSACTION_COMPLETE; list_add_tail(&tcomplete->entry, &thread->todo); - if (target_wait) - wake_up_interruptible(target_wait); + if (target_wait) { + if (reply || !(t->flags & TF_ONE_WAY)) + wake_up_interruptible_sync(target_wait); + else + wake_up_interruptible(target_wait); + } return; err_translate_failed: