Skip to content
Commit fa0708b3 authored by Anson Huang's avatar Anson Huang Committed by Russell King
Browse files

ARM: 8471/1: need to save/restore arm register(r11) when it is corrupted



In cpu_v7_do_suspend routine, r11 is used while it is NOT
saved/restored, different compiler may have different usage
of ARM general registers, so it may cause issues during
calling cpu_v7_do_suspend.

We meet kernel fault occurs when using GCC 4.8.3, r11 contains
valid value before calling into cpu_v7_do_suspend, but when returned
from this routine, r11 is corrupted and lead to kernel fault.
Doing save/restore for those corrupted registers is a must in
assemble code.

Signed-off-by: default avatarAnson Huang <Anson.Huang@freescale.com>
Reviewed-by: default avatarNicolas Pitre <nico@linaro.org>
Cc: <stable@vger.kernel.org> # v3.3+
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent c014953d
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment