summaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/omap_hwmod.c
diff options
context:
space:
mode:
authorMiguel Vadillo <vadillo@ti.com>2011-07-01 22:54:02 +0200
committerPaul Walmsley <paul@pwsan.com>2011-07-09 19:13:35 -0600
commit6481c73c22613660a5b791d2b4d0faf60508d731 (patch)
treec227cf5635c53c16b47aa8b10f1fe93de06212a1 /arch/arm/mach-omap2/omap_hwmod.c
parentc614ebf6f73de8e6d0481c4b3b962b649166fee9 (diff)
OMAP2+: hwmod: Enable module in shutdown to access sysconfig
When calling the shutdown, the module may be already in idle. Accessing the sysconfig register will then lead to a crash. In that case, re-enable the module in order to allow the access to the sysconfig register. Signed-off-by: Miguel Vadillo <vadillo@ti.com> Signed-off-by: Benoit Cousson <b-cousson@ti.com> Signed-off-by: Paul Walmsley <paul@pwsan.com>
Diffstat (limited to 'arch/arm/mach-omap2/omap_hwmod.c')
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index 384d3c3ec36d..cbc2a8a4ce39 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -1396,8 +1396,11 @@ static int _shutdown(struct omap_hwmod *oh)
}
}
- if (oh->class->sysc)
+ if (oh->class->sysc) {
+ if (oh->_state == _HWMOD_STATE_IDLE)
+ _enable(oh);
_shutdown_sysc(oh);
+ }
/*
* If an IP contains only one HW reset line, then assert it