[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87vangb8cq.fsf@concordia.ellerman.id.au>
Date: Wed, 28 Jun 2017 22:32:53 +1000
From: Michael Ellerman <mpe@...erman.id.au>
To: Nicholas Piggin <npiggin@...il.com>,
Akshay Adiga <akshay.adiga@...ux.vnet.ibm.com>
Cc: linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
ego@...ux.vnet.ibm.com
Subject: Re: [PATCH] powernv:idle: Clear r12 on wakeup from stop lite
Nicholas Piggin <npiggin@...il.com> writes:
> On Wed, 28 Jun 2017 06:46:49 +0530
> Akshay Adiga <akshay.adiga@...ux.vnet.ibm.com> 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@...ux.vnet.ibm.com>
>> Fixes: 9d29250136f6 ("powerpc/64s/idle: Avoid SRR usage in idle
>> sleep/wake paths")
>
> Thanks guys, appreciate you finding and fixing my bug :)
>
> I think this looks like the best fix. Really minor nitpick but you
> could adjust the line widths on the comment slightly (mpe might do
> that when merging).
You know me too well :}
cheers
Powered by blists - more mailing lists