diff options
author | Fernando Luis Vázquez Cao <fernando@oss.ntt.co.jp> | 2007-08-30 00:04:15 -0400 |
---|---|---|
committer | Dmitry Torokhov <dtor@insightbb.com> | 2007-08-30 00:04:15 -0400 |
commit | e3758b2ab61b3001b9db4582559bbaeba5e24a29 (patch) | |
tree | 359f5d9834f19aa1a2ffd9ed2ee5c6d8c2f5fc8d /drivers | |
parent | 29e8277defa1013f8f5367aec58161d3a81de8f7 (diff) | |
download | linux-e3758b2ab61b3001b9db4582559bbaeba5e24a29.tar.bz2 |
Input: i8042 - fix retrun value of i8042_aux_test_irq
We should not return IRQ_HANDLED if we didn't handle the interrupt.
Signed-off-by: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/input/serio/i8042.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c index 3888dc307e0c..06b05dd22485 100644 --- a/drivers/input/serio/i8042.c +++ b/drivers/input/serio/i8042.c @@ -512,6 +512,7 @@ static irqreturn_t __devinit i8042_aux_test_irq(int irq, void *dev_id) { unsigned long flags; unsigned char str, data; + int ret = 0; spin_lock_irqsave(&i8042_lock, flags); str = i8042_read_status(); @@ -520,10 +521,11 @@ static irqreturn_t __devinit i8042_aux_test_irq(int irq, void *dev_id) if (i8042_irq_being_tested && data == 0xa5 && (str & I8042_STR_AUXDATA)) complete(&i8042_aux_irq_delivered); + ret = 1; } spin_unlock_irqrestore(&i8042_lock, flags); - return IRQ_HANDLED; + return IRQ_RETVAL(ret); } /* |