Remove unnecessary work pending test before calling schedule_work().
It has been tested in queue_work_on() already. No functional changed.

Signed-off-by: Xie XiuQi <xiexi...@huawei.com>
Cc: Tejun Heo <t...@kernel.org>
---
 drivers/staging/iio/adc/ad7606_core.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/iio/adc/ad7606_core.c 
b/drivers/staging/iio/adc/ad7606_core.c
index 72868ce..c6f99069 100644
--- a/drivers/staging/iio/adc/ad7606_core.c
+++ b/drivers/staging/iio/adc/ad7606_core.c
@@ -424,10 +424,9 @@ static irqreturn_t ad7606_interrupt(int irq, void *dev_id)
        struct iio_dev *indio_dev = dev_id;
        struct ad7606_state *st = iio_priv(indio_dev);

-       if (iio_buffer_enabled(indio_dev)) {
-               if (!work_pending(&st->poll_work))
-                       schedule_work(&st->poll_work);
-       } else {
+       if (iio_buffer_enabled(indio_dev))
+               schedule_work(&st->poll_work);
+       else {
                st->done = true;
                wake_up_interruptible(&st->wq_data_avail);
        }
-- 
1.8.2.2



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to