Messages in this thread | | | From | Michael Ellerman <> | Subject | Re: powernv:idle: Clear r12 on wakeup from stop lite | Date | Thu, 29 Jun 2017 22:21:24 +1000 (AEST) |
| |
On Wed, 2017-06-28 at 01:16:49 UTC, Akshay Adiga wrote: > pnv_wakeup_noloss expects R12 to contain SRR1 value to determine if > the wakeup reason is an HMI in CHECK_HMI_INTERRUPT. > > When we wakeup with ESL=0, SRR1 will not contain the wakeup reason, so > there is no point setting R12 to SRR1. > > However, we don't set R12 at all and R12 contains garbage, and still > being used to check HMI assuming that it had SRR1. causing the > OPAL msglog to be filled with the following print: > HMI: Received HMI interrupt: HMER = 0x0040000000000000 > > This patch clears R12 after waking up from stop with ESL=EC=0, so that > we don't accidentally enter the HMI handler in pnv_wakeup_noloss if > the R12[42:45] corresponds to HMI as wakeup reason. > > Bug existed prior to "commit 9d29250136f6 ("powerpc/64s/idle: Avoid SRR > usage in idle sleep/wake paths") but was never hit in practice > > Signed-off-by: Akshay Adiga <akshay.adiga@linux.vnet.ibm.com> > Fixes: 9d29250136f6 ("powerpc/64s/idle: Avoid SRR usage in idle > sleep/wake paths") > Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/4d0d7c02df680740da41f5f92a238c
cheers
| |