[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <3vdQ6p4LMRz9sNG@ozlabs.org>
Date: Wed, 8 Mar 2017 18:25:54 +1100 (AEDT)
From: Michael Ellerman <patch-notifications@...erman.id.au>
To: "Gautham R. Shenoy" <ego@...ux.vnet.ibm.com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Michael Neuling <mikey@...ling.org>,
Vaidyanathan Srinivasan <svaidy@...ux.vnet.ibm.com>,
"Shreyas B. Prabhu" <shreyasbp@...il.com>,
Shilpasri G Bhat <shilpa.bhat@...ux.vnet.ibm.com>,
Balbir Singh <bsingharora@...il.com>,
Akshay Adiga <akshay.adiga@...ux.vnet.ibm.com>,
Anton Blanchard <anton@...ba.org>
Cc: "Gautham R. Shenoy" <ego@...ux.vnet.ibm.com>,
linuxppc-dev@...ts.ozlabs.org, linux-kernel@...r.kernel.org
Subject: Re: [v2] powernv:idle: Fix bug due to labeling ambiguity in power_enter_stop
On Mon, 2017-02-27 at 05:40:07 UTC, "Gautham R. Shenoy" wrote:
> From: "Gautham R. Shenoy" <ego@...ux.vnet.ibm.com>
>
> Commit 09206b600c76 ("powernv: Pass PSSCR value and mask to
> power9_idle_stop") added additional code in power_enter_stop() to
> distinguish between stop requests whose PSSCR had ESL=EC=1 from those
> which did not. When ESL=EC=1, we do a forward-jump to a location
> labelled by "1", which had the code to handle the ESL=EC=1 case.
>
> Unforunately just a couple of instructions before this label, is the
> macro IDLE_STATE_ENTER_SEQ() which also has a label "1" in its
> expansion.
>
> As a result, the current code can result in directly executing stop
> instruction for deep stop requests with PSSCR ESL=EC=1, without saving
> the hypervisor state.
>
> Fix this BUG by labeling the location that handles ESL=EC=1 case with
> a more descriptive label ".Lhandle_esl_ec_set" (local label suggestion
> a la .Lxx from Anton Blanchard).
>
> While at it, rename the label "2" labelling the location of the code
> handling entry into deep stop states with ".Lhandle_deep_stop".
>
> For a good measure, change the label in IDLE_STATE_ENTER_SEQ() macro
> to an not-so commonly used value in order to avoid similar mishaps in
> the future.
>
> Fixes: 09206b600c76 ("powernv: Pass PSSCR value and mask to
> power9_idle_stop")
>
> Cc: Michael Neuling <mikey@...ling.org>
> Cc: Vaidyanathan Srinivasan <svaidy@...ux.vnet.ibm.com>
> Cc: Michael Ellerman <mpe@...erman.id.au>
> Signed-off-by: Gautham R. Shenoy <ego@...ux.vnet.ibm.com>
Applied to powerpc fixes, thanks.
https://git.kernel.org/powerpc/c/424f8acd328a111319ae30bf384e5d
cheers
Powered by blists - more mailing lists