[ARM] VIC: Fix resume sources usage
The resume_mask wasn't being checked in vic_set_wake() to see if the IRQ was a valid wakeup source. Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
parent
f25f0b9ca4
commit
3f1a567d8a
|
@ -229,14 +229,18 @@ static int vic_set_wake(unsigned int irq, unsigned int on)
|
||||||
{
|
{
|
||||||
struct vic_device *v = vic_from_irq(irq);
|
struct vic_device *v = vic_from_irq(irq);
|
||||||
unsigned int off = irq & 31;
|
unsigned int off = irq & 31;
|
||||||
|
u32 bit = 1 << off;
|
||||||
|
|
||||||
if (!v)
|
if (!v)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
if (!(bit & v->resume_sources))
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
if (on)
|
if (on)
|
||||||
v->resume_irqs |= 1 << off;
|
v->resume_irqs |= bit;
|
||||||
else
|
else
|
||||||
v->resume_irqs &= ~(1 << off);
|
v->resume_irqs &= ~bit;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue