X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kernel%2Firq%2Fautoprobe.c;h=533068cfb607fad10202210b916909efd314cbb7;hb=7ac3ae32d170cea8cb8e7822acc29ed8f1b1018d;hp=cfdb63eb5c9450c288e7c76836e39cebf398d3b8;hpb=6a6de9ef5850d063c3d3fb50784bfe3a6d0712c6;p=linux-2.6 diff --git a/kernel/irq/autoprobe.c b/kernel/irq/autoprobe.c index cfdb63eb5c..533068cfb6 100644 --- a/kernel/irq/autoprobe.c +++ b/kernel/irq/autoprobe.c @@ -11,6 +11,8 @@ #include #include +#include "internals.h" + /* * Autodetection depends on the fact that any interrupt that * comes in on to an unassigned handler will get stuck with @@ -41,6 +43,12 @@ unsigned long probe_irq_on(void) spin_lock_irq(&desc->lock); if (!desc->action && !(desc->status & IRQ_NOPROBE)) { + /* + * An old-style architecture might still have + * the handle_bad_irq handler there: + */ + compat_irq_chip_set_default_handler(desc); + /* * Some chips need to know about probing in * progress: