Pan Xinhui <xinhui....@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....@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