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>
This commit is contained in:
parent
29e8277def
commit
e3758b2ab6
1 changed files with 3 additions and 1 deletions
|
@ -512,6 +512,7 @@ static irqreturn_t __devinit i8042_aux_test_irq(int irq, void *dev_id)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
unsigned char str, data;
|
unsigned char str, data;
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
spin_lock_irqsave(&i8042_lock, flags);
|
spin_lock_irqsave(&i8042_lock, flags);
|
||||||
str = i8042_read_status();
|
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 &&
|
if (i8042_irq_being_tested &&
|
||||||
data == 0xa5 && (str & I8042_STR_AUXDATA))
|
data == 0xa5 && (str & I8042_STR_AUXDATA))
|
||||||
complete(&i8042_aux_irq_delivered);
|
complete(&i8042_aux_irq_delivered);
|
||||||
|
ret = 1;
|
||||||
}
|
}
|
||||||
spin_unlock_irqrestore(&i8042_lock, flags);
|
spin_unlock_irqrestore(&i8042_lock, flags);
|
||||||
|
|
||||||
return IRQ_HANDLED;
|
return IRQ_RETVAL(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Reference in a new issue