The data referenced by an interrupt handler should not be freed before the interrupt is ended. The semantic match that finds this problem is as follows (http://coccinelle.lip6.fr/). The basic idea behind this semantic match is to find cases where the order of the call to free_irq is different than its order in some error-handling code. This semantic match, however, has a high rate of false positives, because most of the time the order doesn't seem to matter. // <smpl> @fn exists@ expression list es; expression a,b; identifier f; @@ if (...) { ... when any free_irq(a,b); ... when any f(es); ... when any return ...; } @@ expression list fn.es; expression fn.a,fn.b; identifier fn.f; @@ *f(es); ... when any *free_irq(a,b); // </smpl> -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html