[PATCH] powerpc/xmon: Fix an unexpected xmon onoff state change

Michael Ellerman mpe at ellerman.id.au
Thu Feb 16 16:09:18 AEDT 2017


Pan Xinhui <xinhui.pan at linux.vnet.ibm.com> writes:

> 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 at linux.vnet.ibm.com>
> ---
>  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);
>  }

I don't think this is right.

xmon_off is only true if you boot with xmon=off on the command line.

So if you boot with CONFIG_XMON_DEFAULT=n, and nothing on the command
line, then enter xmon via sysrq, then exit, xmon will still be enabled.

cheers


More information about the Linuxppc-dev mailing list