From a24c6e5482e3e91c8b7dbd3ad829c531ae4d7af9 Mon Sep 17 00:00:00 2001 From: Ben Dooks Date: Tue, 2 Jun 2009 09:31:03 +0100 Subject: [PATCH] --- yaml --- r: 153724 b: refs/heads/master c: 3f1a567d8a4ed7a5d105bd049343606f5273b603 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/common/vic.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) 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; }