Input: i8042 - fix retrun value of i8042_aux_test_irq
authorFernando Luis Vázquez Cao <fernando@oss.ntt.co.jp>
Thu, 30 Aug 2007 04:04:15 +0000 (00:04 -0400)
committerDmitry Torokhov <dtor@insightbb.com>
Thu, 30 Aug 2007 04:04:15 +0000 (00:04 -0400)
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>
drivers/input/serio/i8042.c

index 3888dc307e0ce09d47aebc89eeb983df02be5f40..06b05dd2248508e3c2516048e4abddec26e88abd 100644 (file)
@@ -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);
 }
 
 /*