diff options
author | Kevin Hilman <khilman@deeprootsystems.com> | 2010-06-09 13:53:09 +0300 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-06-10 15:37:41 +0300 |
commit | 0b96a3a3c5c5e6e1b79a05c23d110d59518f4fc8 (patch) | |
tree | cd4b60e4ce289a4baeaf53f7955d56df43ffe6ee | |
parent | f7ec0b0b16c97a75a1b6aa8bc8b32548003f3339 (diff) | |
download | linux-stable-0b96a3a3c5c5e6e1b79a05c23d110d59518f4fc8.tar.gz linux-stable-0b96a3a3c5c5e6e1b79a05c23d110d59518f4fc8.tar.bz2 linux-stable-0b96a3a3c5c5e6e1b79a05c23d110d59518f4fc8.zip |
OMAP3: PM: fix IO daisy chain enable to use PM_WKEN reg
Checking to se if the IO daisy chain is enabled should be checking the
PM_WKEN register, not the PM_WKST register. Reading PM_WKST tells us
if an event occurred, not whether or not it is enabled.
Apparently, we've been lucky until now in that a pending event has not
been there during enable. However, on 3630/Zoom3, I noticed because
of the WARN that this timeout was always happening.
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r-- | arch/arm/mach-omap2/pm34xx.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index 2e967716cc3f..b88737fd6cfe 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -99,7 +99,7 @@ static void omap3_enable_io_chain(void) /* Do a readback to assure write has been done */ prm_read_mod_reg(WKUP_MOD, PM_WKEN); - while (!(prm_read_mod_reg(WKUP_MOD, PM_WKST) & + while (!(prm_read_mod_reg(WKUP_MOD, PM_WKEN) & OMAP3430_ST_IO_CHAIN_MASK)) { timeout++; if (timeout > 1000) { @@ -108,7 +108,7 @@ static void omap3_enable_io_chain(void) return; } prm_set_mod_reg_bits(OMAP3430_ST_IO_CHAIN_MASK, - WKUP_MOD, PM_WKST); + WKUP_MOD, PM_WKEN); } } } |