Re: [PATCH] powerpc/xmon: Fix an unexpected xmon onoff state change
From: Guilherme G. Piccoli
Date: Wed Feb 15 2017 - 16:22:38 EST
On 15/02/2017 05:49, Pan Xinhui wrote:
> Once xmon is triggered by sysrq-x, it is enabled always afterwards even
> if it is disabled during boot. This will cause a system reset interrut
> fail to dump. So keep xmon in its original state after exit.
>
> Signed-off-by: Pan Xinhui <xinhui.pan@xxxxxxxxxxxxxxxxxx>
Patch is fine - minor typo: interrut => interrupt
Feel free to add my:
Tested-by: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxxxxxxxxxx>
Thanks,
Guilherme
> ---
> arch/powerpc/xmon/xmon.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
> index 9c0e17c..721212f 100644
> --- a/arch/powerpc/xmon/xmon.c
> +++ b/arch/powerpc/xmon/xmon.c
> @@ -76,6 +76,7 @@ static int xmon_gate;
> #endif /* CONFIG_SMP */
>
> static unsigned long in_xmon __read_mostly = 0;
> +static int xmon_off = 0;
>
> static unsigned long adrs;
> static int size = 1;
> @@ -3250,6 +3251,8 @@ static void sysrq_handle_xmon(int key)
> /* ensure xmon is enabled */
> xmon_init(1);
> debugger(get_irq_regs());
> + if (xmon_off)
> + xmon_init(0);
> }
>
> static struct sysrq_key_op sysrq_xmon_op = {
> @@ -3266,7 +3269,7 @@ static int __init setup_xmon_sysrq(void)
> __initcall(setup_xmon_sysrq);
> #endif /* CONFIG_MAGIC_SYSRQ */
>
> -static int __initdata xmon_early, xmon_off;
> +static int __initdata xmon_early;
>
> static int __init early_parse_xmon(char *p)
> {
>