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) |
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) | |||
512 | { | 512 | { |
513 | unsigned long flags; | 513 | unsigned long flags; |
514 | unsigned char str, data; | 514 | unsigned char str, data; |
515 | int ret = 0; | ||
515 | 516 | ||
516 | spin_lock_irqsave(&i8042_lock, flags); | 517 | spin_lock_irqsave(&i8042_lock, flags); |
517 | str = i8042_read_status(); | 518 | str = i8042_read_status(); |
@@ -520,10 +521,11 @@ static irqreturn_t __devinit i8042_aux_test_irq(int irq, void *dev_id) | |||
520 | if (i8042_irq_being_tested && | 521 | if (i8042_irq_being_tested && |
521 | data == 0xa5 && (str & I8042_STR_AUXDATA)) | 522 | data == 0xa5 && (str & I8042_STR_AUXDATA)) |
522 | complete(&i8042_aux_irq_delivered); | 523 | complete(&i8042_aux_irq_delivered); |
524 | ret = 1; | ||
523 | } | 525 | } |
524 | spin_unlock_irqrestore(&i8042_lock, flags); | 526 | spin_unlock_irqrestore(&i8042_lock, flags); |
525 | 527 | ||
526 | return IRQ_HANDLED; | 528 | return IRQ_RETVAL(ret); |
527 | } | 529 | } |
528 | 530 | ||
529 | /* | 531 | /* |