From c6b65e02b3026bd77bf3a464d07d19f39f425070 Mon Sep 17 00:00:00 2001 From: Varun Wadekar Date: Tue, 23 Nov 2010 20:03:02 +0530 Subject: [PATCH] tegra: video: host: fix race condition in hostintr wait list Change-Id: I5e58f5fe8935741441e2b30f585bb997b6317d3d Author: Alex Frid Signed-off-by: Varun Wadekar --- drivers/video/tegra/host/nvhost_intr.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/video/tegra/host/nvhost_intr.c b/drivers/video/tegra/host/nvhost_intr.c index 848d8b1e84e0..007aaed9909f 100644 --- a/drivers/video/tegra/host/nvhost_intr.c +++ b/drivers/video/tegra/host/nvhost_intr.c @@ -178,8 +178,7 @@ static void run_handlers(struct list_head completed[NVHOST_INTR_ACTION_COUNT]) list_for_each_entry_safe(waiter, next, head, list) { list_del(&waiter->list); handler(waiter); - atomic_set(&waiter->state, WLS_HANDLED); - smp_wmb(); + WARN_ON(atomic_xchg(&waiter->state, WLS_HANDLED) != WLS_REMOVED); kref_put(&waiter->refcount, waiter_release); } } -- 2.34.1