aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFernando Luis Vázquez Cao <fernando@oss.ntt.co.jp>2007-08-30 00:04:15 -0400
committerDmitry Torokhov <dtor@insightbb.com>2007-08-30 00:04:15 -0400
commite3758b2ab61b3001b9db4582559bbaeba5e24a29 (patch)
tree359f5d9834f19aa1a2ffd9ed2ee5c6d8c2f5fc8d
parent29e8277defa1013f8f5367aec58161d3a81de8f7 (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>
-rw-r--r--drivers/input/serio/i8042.c4
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/*