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

From: Stephen Rothwell <[email-masked]>
Date: Fri, 21 May 2010 10:21:58 +1000

Hi Jason,

On Wed, 24 Mar 2010 21:59:25 -0700 Dmitry Torokhov <[email-masked]> wrote:
>
> 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...

The input changes that require change in the kgdb tree are now in Linus'
tree (I think) so this patch (or something else) should be added to the
kgdb tree before it is sent to Linus for merging.

Dmitry, any thoughts?

Here is the patch again:

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);
-- 
1.7.0.2

-- 
Cheers,
Stephen Rothwell                    [email-masked]
http://www.canb.auug.org.au/~sfr/