This patch has been submitted upstream, but likely won't make 2.6.38.
In case in user has a OMAP3630 < ES1.2 the kernel should warn the user
about the ERRATUM, but using pr_warning instead of WARN_ON is already
enough, as there is nothing else the user can do besides changing the
board.
With this we avoid having the following calltrace while booting with some
Beagle xM revisions:
WARNING: at /home/apw/build/ubuntu-natty2/ubuntu-natty2/arch/arm/mach-omap2/cpuidle34xx.c:468 omap_init_power_states+0x230/0x238()
omap_init_power_states: core off state C7 disabled due to i583
Modules linked in:
[<
c00596f4>] (unwind_backtrace+0x0/0xfc) from [<
c04f29a8>] (dump_stack+0x18/0x1c)
[<
c04f29a8>] (dump_stack+0x18/0x1c) from [<
c008510c>] (warn_slowpath_common+0x5c/0x6c)
[<
c008510c>] (warn_slowpath_common+0x5c/0x6c) from [<
c00851c0>] (warn_slowpath_fmt+0x38/0x40)
[<
c00851c0>] (warn_slowpath_fmt+0x38/0x40) from [<
c00676f4>] (omap_init_power_states+0x230/0x238)
[<
c00676f4>] (omap_init_power_states+0x230/0x238) from [<
c00131a0>] (omap3_idle_init+0x74/0x18c)
[<
c00131a0>] (omap3_idle_init+0x74/0x18c) from [<
c00126b4>] (omap3_pm_init+0x1ac/0x308)
[<
c00126b4>] (omap3_pm_init+0x1ac/0x308) from [<
c00474c0>] (do_one_initcall+0x3c/0x1b4)
[<
c00474c0>] (do_one_initcall+0x3c/0x1b4) from [<
c0008d58>] (kernel_init+0xe0/0x178)
[<
c0008d58>] (kernel_init+0xe0/0x178) from [<
c00532c8>] (kernel_thread_exit+0x0/0x8)
---[ end trace
e639b107cbbc60f1 ]---
Signed-off-by: Ricardo Salveti de Araujo <ricardo.salveti@canonical.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
if (IS_PM34XX_ERRATUM(PM_SDRC_WAKEUP_ERRATUM_i583)) {
omap3_power_states[OMAP3_STATE_C7].valid = 0;
cpuidle_params_table[OMAP3_STATE_C7].valid = 0;
- WARN_ONCE(1, "%s: core off state C7 disabled due to i583\n",
+ pr_warning("%s: core off state C7 disabled due to i583\n",
__func__);
}
}
pwrst->pwrdm == core_pwrdm &&
state == PWRDM_POWER_OFF) {
pwrst->next_state = PWRDM_POWER_RET;
- WARN_ONCE(1,
- "%s: Core OFF disabled due to errata i583\n",
+ pr_warning("%s: Core OFF disabled due to errata i583\n",
__func__);
} else {
pwrst->next_state = state;