summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorArve Hjønnevåg <arve@android.com>2014-02-07 17:46:21 -0800
committerNitin Garg <nitin.garg@freescale.com>2014-04-21 22:35:38 -0500
commit878bee07c715c7a27d950154e4f98aede172cc90 (patch)
treec75033613ed1b940b0bae786daa7c3d50e532244 /drivers
parent64aece26b482e3e819398096d3a1afc24f5712af (diff)
Staging: android: binder: Fix death notifications
The change (008fa749e0fe5b2fffd20b7fe4891bb80d072c6a) that moved the node release code to a separate function broke death notifications in some cases. When it encountered a reference without a death notification request, it would skip looking at the remaining references, and therefore fail to send death notifications for them. Change-Id: I12083a50709ccc30ba11a5f4d9eeb5f0ff4471c6 Signed-off-by: Arve Hjønnevåg <arve@android.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/staging/android/binder.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/staging/android/binder.c b/drivers/staging/android/binder.c
index a1931c026230..6aec8509d7b0 100644
--- a/drivers/staging/android/binder.c
+++ b/drivers/staging/android/binder.c
@@ -2941,7 +2941,7 @@ static int binder_node_release(struct binder_node *node, int refs)
refs++;
if (!ref->death)
- goto out;
+ continue;
death++;
@@ -2954,7 +2954,6 @@ static int binder_node_release(struct binder_node *node, int refs)
BUG();
}
-out:
binder_debug(BINDER_DEBUG_DEAD_BINDER,
"node %d now dead, refs %d, death %d\n",
node->debug_id, refs, death);