Subject: Re: linux-next: build failure after merge of the kgdb tree

From: Dmitry Torokhov <[email-masked]>
Date: Wed, 24 Mar 2010 21:59:25 -0700

On Wednesday 24 March 2010 09:43:07 pm Stephen Rothwell wrote:
> Hi Jason, Dmitry,
> 
> On Tue, 23 Mar 2010 15:04:43 +1100 Stephen Rothwell <[email-masked]> 
wrote:
> > After merging the kgdb tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> > 
> > kernel/debug/kdb/kdb_main.c: In function 'kdb_sr':
> > kernel/debug/kdb/kdb_main.c:1822: error: '__sysrq_enabled' undeclared
> > (first use in this function)
> > 
> > Caused by commit ab28988df9667f8dd70c7434c8ca463beb00b300 ("kdb: core for
> > kgdb back end (1 of 2)") from the kgdb tree interacting with commit
> > edc6e384f9d96e54a6d03068d3b03fa5b56b6449 ("") fromInput: implement SysRq
> > as a separate input handler the input tree.
> 
> I got this again today (I stopped reverting the input tree commits that I
> was reverting for another build problem).  The patch below still seems to
> work OK.

Yes, I  of __sysrq_enabled is not global anymore...

I am not sure I like kgdb enabling sysrq functonality on its own, I'd rather
export __handle_sysrq that does not check sysrq state...

> 
> > From: Stephen Rothwell <[email-masked]>
> > Date: Tue, 23 Mar 2010 14:45:22 +1100
> > Subject: [PATCH] kgdb: update for sysrq handling change
> > 
> > Signed-off-by: Stephen Rothwell <[email-masked]>
> > ---
> > 
> >  kernel/debug/kdb/kdb_main.c |    6 ++----
> >  1 files changed, 2 insertions(+), 4 deletions(-)
> > 
> > diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
> > index f1f9309..bad8e63 100644
> > --- a/kernel/debug/kdb/kdb_main.c
> > +++ b/kernel/debug/kdb/kdb_main.c
> > @@ -1819,10 +1819,8 @@ static int kdb_sr(int argc, const char **argv)
> > 
> >  {
> >  
> >  	if (argc != 1)
> >  	
> >  		return KDB_ARGCOUNT;
> > 
> > -	if (!__sysrq_enabled) {
> > -		kdb_printf("Auto activating sysrq\n");
> > -		__sysrq_enabled = 1;
> > -	}
> > +
> > +	sysrq_toggle_support(1);
> > 
> >  	kdb_trap_printk++;
> >  	handle_sysrq(*argv[1], NULL);

Thanks.

-- 
Dmitry