linux/arch
Paul Walmsley e9332b6eed ARM: OMAP4/AM335x: hwmod: fix disable_module regression in hardreset handling
Commit eb05f69129 ("ARM: OMAP: hwmod:
partially un-reset hwmods might not be properly enabled") added code
to skip the IP block disable sequence if all of the block's hardreset
lines weren't asserted.  But this did not handle the case when no
hardreset lines were associated with a module, which is the general
case.  In that situation, the IP block disable would be skipped.  This
is likely to cause PM regressions.

So, modify _omap4_disable_module() and _am33xx_disable_module() to
only bail out early if there are any hardreset lines asserted.  And
move the AM33xx test above the actual module disable code to ensure
that the behavior is consistent.

Reported-by: Archit Taneja <a0393947@ti.com>
Tested-by: Archit Taneja <a0393947@ti.com> # DSS
Cc: Omar Ramirez Luna <omar.luna@linaro.org>
Cc: Vaibhav Hiremath <hvaibhav@ti.com>
Acked-by: Vaibhav Hiremath <hvaibhav@ti.com>
Tested-by: Vaibhav Hiremath <hvaibhav@ti.com> # AM335x
Signed-off-by: Paul Walmsley <paul@pwsan.com>
2012-10-08 23:08:15 -06:00
..
alpha Prepared for main script 2012-10-03 13:45:43 -07:00
arm ARM: OMAP4/AM335x: hwmod: fix disable_module regression in hardreset handling 2012-10-08 23:08:15 -06:00
arm64 Merge branch 'uapi-prep' of git://git.infradead.org/users/dhowells/linux-headers 2012-10-07 07:55:10 +09:00
avr32 cross-arch: don't corrupt personality flags upon exec() 2012-10-06 03:04:47 +09:00
blackfin cross-arch: don't corrupt personality flags upon exec() 2012-10-06 03:04:47 +09:00
c6x Merge branch 'uapi-prep' of git://git.infradead.org/users/dhowells/linux-headers 2012-10-07 07:55:10 +09:00
cris cross-arch: don't corrupt personality flags upon exec() 2012-10-06 03:04:47 +09:00
frv cross-arch: don't corrupt personality flags upon exec() 2012-10-06 03:04:47 +09:00
h8300 cross-arch: don't corrupt personality flags upon exec() 2012-10-06 03:04:47 +09:00
hexagon Merge branch 'uapi-prep' of git://git.infradead.org/users/dhowells/linux-headers 2012-10-07 07:55:10 +09:00
ia64 Features: 2012-10-07 07:13:01 +09:00
m32r cross-arch: don't corrupt personality flags upon exec() 2012-10-06 03:04:47 +09:00
m68k Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu 2012-10-07 21:06:10 +09:00
microblaze Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze 2012-10-07 21:08:40 +09:00
mips compat: move compat_siginfo_t definition to asm/compat.h 2012-10-06 03:05:16 +09:00
mn10300 cross-arch: don't corrupt personality flags upon exec() 2012-10-06 03:04:47 +09:00
openrisc Merge branch 'uapi-prep' of git://git.infradead.org/users/dhowells/linux-headers 2012-10-07 07:55:10 +09:00
parisc compat: move compat_siginfo_t definition to asm/compat.h 2012-10-06 03:05:16 +09:00
powerpc Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2012-10-06 03:16:12 +09:00
s390 Merge branch 'virtio-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux 2012-10-07 21:04:56 +09:00
score Merge branch 'uapi-prep' of git://git.infradead.org/users/dhowells/linux-headers 2012-10-07 07:55:10 +09:00
sh cross-arch: don't corrupt personality flags upon exec() 2012-10-06 03:04:47 +09:00
sparc compat: move compat_siginfo_t definition to asm/compat.h 2012-10-06 03:05:16 +09:00
tile Merge branch 'uapi-prep' of git://git.infradead.org/users/dhowells/linux-headers 2012-10-07 07:55:10 +09:00
um Prepared for main script 2012-10-03 13:45:43 -07:00
unicore32 Merge branch 'uapi-prep' of git://git.infradead.org/users/dhowells/linux-headers 2012-10-07 07:55:10 +09:00
x86 Merge branch 'virtio-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux 2012-10-07 21:04:56 +09:00
xtensa cross-arch: don't corrupt personality flags upon exec() 2012-10-06 03:04:47 +09:00
.gitignore
Kconfig Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2012-10-01 10:43:39 -07:00