- kgdb_eth_is_initializing is spun on and should be volatile. - kgdb_eth_is_trapped is referred to from an inline and needstobe exported to modules. arch/i386/kernel/kgdb_stub.c | 2 +- drivers/net/kgdb_eth.c | 5 +++-- include/asm-i386/kgdb.h | 3 +++ 3 files changed, 7 insertions(+), 3 deletions(-) diff -puN arch/i386/kernel/kgdb_stub.c~kgdb-over-ethernet-fixes arch/i386/kernel/kgdb_stub.c --- 25/arch/i386/kernel/kgdb_stub.c~kgdb-over-ethernet-fixes 2003-09-27 19:22:06.000000000 -0700 +++ 25-akpm/arch/i386/kernel/kgdb_stub.c 2003-09-27 19:22:06.000000000 -0700 @@ -137,7 +137,7 @@ extern int eth_getDebugChar(void); /* extern void eth_flushDebugChar(void); /* flush pending characters */ extern void kgdb_eth_set_trapmode(int); extern void kgdb_eth_reply_arp(void); /*send arp request */ -extern int kgdb_eth_is_initializing; +extern volatile int kgdb_eth_is_initializing; /************************************************************************/ diff -puN drivers/net/kgdb_eth.c~kgdb-over-ethernet-fixes drivers/net/kgdb_eth.c --- 25/drivers/net/kgdb_eth.c~kgdb-over-ethernet-fixes 2003-09-27 19:22:06.000000000 -0700 +++ 25-akpm/drivers/net/kgdb_eth.c 2003-09-27 19:22:06.000000000 -0700 @@ -53,7 +53,7 @@ unsigned short kgdb_sendport= 6442; int kgdb_eth = -1; /* Default tty mode */ unsigned char kgdb_remotemac[6] = {0xff,0xff,0xff,0xff,0xff,0xff}; unsigned char kgdb_localmac[6] = {0xff,0xff,0xff,0xff,0xff,0xff}; -int kgdb_eth_is_initializing = 0; +volatile int kgdb_eth_is_initializing = 0; struct net_device *kgdb_netdevice = NULL; @@ -366,7 +366,7 @@ kgdb_net_interrupt(struct sk_buff *skb) return 1; } - +EXPORT_SYMBOL(kgdb_net_interrupt); int kgdb_eth_hook(void) @@ -498,3 +498,4 @@ kgdb_eth_is_trapped() } return kgdb_netdevice->kgdb_is_trapped; } +EXPORT_SYMBOL(kgdb_eth_is_trapped); diff -puN include/asm-i386/kgdb.h~kgdb-over-ethernet-fixes include/asm-i386/kgdb.h --- 25/include/asm-i386/kgdb.h~kgdb-over-ethernet-fixes 2003-09-27 19:22:06.000000000 -0700 +++ 25-akpm/include/asm-i386/kgdb.h 2003-09-27 19:22:06.000000000 -0700 @@ -19,6 +19,8 @@ extern void breakpoint(void); #define BREAKPOINT asm(" int $3") #endif +struct sk_buff; + extern int kgdb_eth; extern unsigned kgdb_remoteip; extern unsigned short kgdb_listenport; @@ -28,6 +30,7 @@ extern unsigned char kgdb_localmac[6]; extern int kgdb_tty_hook(void); extern int kgdb_eth_hook(void); +extern int gdb_net_interrupt(struct sk_buff *skb); /* * GDB debug stub (or any debug stub) can point the 'linux_debug_hook' _