diff --git a/[refs] b/[refs] index 6d587a8ef25b..e94f5ac72da8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f25f0b9ca48848632f19e6616bd01550e3c0fc0e +refs/heads/master: 3f1a567d8a4ed7a5d105bd049343606f5273b603 diff --git a/trunk/arch/arm/common/vic.c b/trunk/arch/arm/common/vic.c index 887c6eb3a18a..6ed89836e908 100644 --- a/trunk/arch/arm/common/vic.c +++ b/trunk/arch/arm/common/vic.c @@ -229,14 +229,18 @@ static int vic_set_wake(unsigned int irq, unsigned int on) { struct vic_device *v = vic_from_irq(irq); unsigned int off = irq & 31; + u32 bit = 1 << off; if (!v) return -EINVAL; + if (!(bit & v->resume_sources)) + return -EINVAL; + if (on) - v->resume_irqs |= 1 << off; + v->resume_irqs |= bit; else - v->resume_irqs &= ~(1 << off); + v->resume_irqs &= ~bit; return 0; }