Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: OMAP2+: Fix sar_base inititalization for HS omaps

HS omaps use irq_save_secure_context() instead of irq_save_context()
so sar_base will never get initialized and irq_sar_clear() gets called
with a wrong address for HS omaps from irq_restore_context().

Starting with commit f4b9f40ae95b ("ARM: OMAP4+: Initialize SAR RAM
base early for proper CPU1 reset for kexec") we have it available,
and this ideally would been fixed with that commit already.

Fixes: f4b9f40ae95b ("ARM: OMAP4+: Initialize SAR RAM base early for
proper CPU1 reset for kexec")
Cc: Andrew F. Davis <afd@ti.com>
Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Santosh Shilimkar <ssantosh@kernel.org>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>

+2 -2
+2 -2
arch/arm/mach-omap2/omap-wakeupgen.c
··· 299 299 if (soc_is_dra7xx()) 300 300 return; 301 301 302 - if (!sar_base) 303 - sar_base = omap4_get_sar_ram_base(); 304 302 if (wakeupgen_ops && wakeupgen_ops->save_context) 305 303 wakeupgen_ops->save_context(); 306 304 } ··· 595 597 596 598 irq_hotplug_init(); 597 599 irq_pm_init(); 600 + 601 + sar_base = omap4_get_sar_ram_base(); 598 602 599 603 return 0; 600 604 }