[PATCH] OMAP2+: PM: fix watchdog boot when runtime PM is disabled
Santosh Shilimkar
santosh.shilimkar at ti.com
Mon Jul 11 19:46:15 EDT 2011
On 7/11/2011 4:21 PM, Kevin Hilman wrote:
> Fix boot crash in watchdog driver when runtime PM is disabled.
>
> When runtime PM is disabled, devices should be left enabled so that
> all device accesses in drivers will succeed even though the runtime PM
> get/put calls are noops.
>
> This is already the case for all devices, but the WDT init has its
> own hwmod postsetup which was not taking this into account.
>
> This fixes a boot crash where the first device access in the WDT probe
> function would crash a booting kernel.
>
> Cc: Paul Walmsley<paul at pwsan.com>
> Signed-off-by: Kevin Hilman<khilman at ti.com>
> ---
> Tony, as this is a boot crash, it should probably be queued for v3.0.
> However, since OMAP2PLUS_TYPICAL always enables runtime PM, this is
> unlikely to be seen unless specifically testing with runtime PM disabled.
>
This patch is exactly same as the one I submitted on Jan 5, 2011 for
the same issue. Here is the patchwork link for the same.
https://patchwork.kernel.org/patch/453481/
Paul had a valid concern about the boot-loader leaving the watchdog
enabled. More on this in below thread.
http://www.spinics.net/lists/arm-kernel/msg110937.html
> arch/arm/mach-omap2/io.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
> index 441e79d..95c08aa 100644
> --- a/arch/arm/mach-omap2/io.c
> +++ b/arch/arm/mach-omap2/io.c
> @@ -395,7 +395,11 @@ void __init omap2_init_common_infrastructure(void)
> * XXX ideally we could detect whether the MPU WDT was currently
> * enabled here and make this conditional
> */
> +#ifdef CONFIG_PM_RUNTIME
> postsetup_state = _HWMOD_STATE_DISABLED;
> +#else
> + postsetup_state = _HWMOD_STATE_ENABLED;
> +#endif
> omap_hwmod_for_each_by_class("wd_timer",
> _set_hwmod_postsetup_state,
> &postsetup_state);
More information about the linux-arm-kernel
mailing list