From c37a3a8bb9bb9e9a674d05f7fe5ddd7546601995 Mon Sep 17 00:00:00 2001 From: Jonathan Cameron Date: Sat, 4 Sep 2010 17:54:44 +0100 Subject: [PATCH] --- yaml --- r: 219719 b: refs/heads/master c: b6e5d69a9e74e08e7f29275797ed9f347c1cde6b h: refs/heads/master i: 219717: 31bd69e18a560c380d04edf4b8913ec0168d3bb6 219715: d3f7236fb8810880931d5b31cf0a61767b57b172 219711: eccc4171538fcc0b91ba2915b78acdb777b04c4e v: v3 --- [refs] | 2 +- trunk/drivers/staging/iio/industrialio-core.c | 13 ++----------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index b0c8de2c2f88..637a121ecffa 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b156cf70e1f4befc4856baaf9681dede9a143888 +refs/heads/master: b6e5d69a9e74e08e7f29275797ed9f347c1cde6b diff --git a/trunk/drivers/staging/iio/industrialio-core.c b/trunk/drivers/staging/iio/industrialio-core.c index 48a288473be8..406f8613c7af 100644 --- a/trunk/drivers/staging/iio/industrialio-core.c +++ b/trunk/drivers/staging/iio/industrialio-core.c @@ -125,19 +125,10 @@ static irqreturn_t iio_interrupt_handler(int irq, void *_int_info) } time_ns = iio_get_time_ns(); - /* detect single element list*/ - if (list_is_singular(&int_info->ev_list)) { + list_for_each_entry(p, &int_info->ev_list, list) { disable_irq_nosync(irq); - p = list_first_entry(&int_info->ev_list, - struct iio_event_handler_list, - list); - /* single event handler - maybe shared */ p->handler(dev_info, 1, time_ns, !(p->refcount > 1)); - } else - list_for_each_entry(p, &int_info->ev_list, list) { - disable_irq_nosync(irq); - p->handler(dev_info, 1, time_ns, 0); - } + } spin_unlock_irqrestore(&int_info->ev_list_lock, flags); return IRQ_HANDLED;