From 7a86414d402959803aae2576377ce1b158bc41ef Mon Sep 17 00:00:00 2001 From: Grazvydas Ignotas Date: Sun, 14 Sep 2014 18:07:30 +0300 Subject: [PATCH] Input: ads7846: avoid a deadlock problem caused by earlier hack (2ed0bced). ads7846_stop() does disable_irq(), which waits for ads7846_irq() to finish, but ads7846_irq() takes the same lock.. There is no need for that check as irq funcs are refcounted. --- drivers/input/touchscreen/ads7846.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c index 5e4858698754..53aabc7db168 100644 --- a/drivers/input/touchscreen/ads7846.c +++ b/drivers/input/touchscreen/ads7846.c @@ -904,10 +904,7 @@ static irqreturn_t ads7846_irq(int irq, void *handle) dev_vdbg(&ts->spi->dev, "UP\n"); } - mutex_lock(&ts->lock); - if (!ts->stopped) - enable_irq(ts->spi->irq); - mutex_unlock(&ts->lock); + enable_irq(ts->spi->irq); return IRQ_HANDLED; } -- 2.39.2