X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-sparc64%2Fkdebug.h;h=6321f5a0198d4811c3a7ed4a8bbf2efed4b86a37;hb=987b0145d94eecf292d8b301228356f44611ab7c;hp=4040d127ac3e2b1e0960126a2970396f031c3c43;hpb=f7ed79d23a47594e7834d66a8f14449796d4f3e6;p=linux-2.6.git diff --git a/include/asm-sparc64/kdebug.h b/include/asm-sparc64/kdebug.h index 4040d127a..6321f5a01 100644 --- a/include/asm-sparc64/kdebug.h +++ b/include/asm-sparc64/kdebug.h @@ -15,9 +15,12 @@ struct die_args { int signr; }; -extern int register_die_notifier(struct notifier_block *); -extern int unregister_die_notifier(struct notifier_block *); -extern struct atomic_notifier_head sparc64die_chain; +/* Note - you should never unregister because that can race with NMIs. + * If you really want to do it first unregister - then synchronize_sched + * - then free. + */ +int register_die_notifier(struct notifier_block *nb); +extern struct notifier_block *sparc64die_chain; extern void bad_trap(struct pt_regs *, long); @@ -43,7 +46,7 @@ static inline int notify_die(enum die_val val,char *str, struct pt_regs *regs, .trapnr = trap, .signr = sig }; - return atomic_notifier_call_chain(&sparc64die_chain, val, &args); + return notifier_call_chain(&sparc64die_chain, val, &args); } #endif