aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/alchemy/common/power.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/alchemy/common/power.c')
-rw-r--r--arch/mips/alchemy/common/power.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/mips/alchemy/common/power.c b/arch/mips/alchemy/common/power.c
index bd854a6d1d89..33a3cdb7444a 100644
--- a/arch/mips/alchemy/common/power.c
+++ b/arch/mips/alchemy/common/power.c
@@ -51,7 +51,6 @@ static void au1000_calibrate_delay(void);
51 51
52extern unsigned long save_local_and_disable(int controller); 52extern unsigned long save_local_and_disable(int controller);
53extern void restore_local_and_enable(int controller, unsigned long mask); 53extern void restore_local_and_enable(int controller, unsigned long mask);
54extern void local_enable_irq(unsigned int irq_nr);
55 54
56static DEFINE_SPINLOCK(pm_lock); 55static DEFINE_SPINLOCK(pm_lock);
57 56
@@ -364,7 +363,10 @@ static int pm_do_freq(ctl_table *ctl, int write, struct file *file,
364 */ 363 */
365 intc0_mask = save_local_and_disable(0); 364 intc0_mask = save_local_and_disable(0);
366 intc1_mask = save_local_and_disable(1); 365 intc1_mask = save_local_and_disable(1);
367 local_enable_irq(AU1000_TOY_MATCH2_INT); 366 val = 1 << (AU1000_TOY_MATCH2_INT - AU1000_INTC0_INT_BASE);
367 au_writel(val, IC0_MASKSET); /* unmask */
368 au_writel(val, IC0_WAKESET); /* enable wake-from-sleep */
369 au_sync();
368 spin_unlock_irqrestore(&pm_lock, flags); 370 spin_unlock_irqrestore(&pm_lock, flags);
369 au1000_calibrate_delay(); 371 au1000_calibrate_delay();
370 restore_local_and_enable(0, intc0_mask); 372 restore_local_and_enable(0, intc0_mask);