Index: sys/kern/subr_intr.c =================================================================== --- sys/kern/subr_intr.c +++ sys/kern/subr_intr.c @@ -229,11 +229,11 @@ /* * Virtualization for interrupt source interrupt stray counter increment. */ -static inline void +static inline u_long isrc_increment_straycount(struct intr_irqsrc *isrc) { - isrc->isrc_count[1]++; + return (++isrc->isrc_count[1]); } /* @@ -362,7 +362,7 @@ * be called straight from the interrupt controller, when associated interrupt * source is learned. */ -int +u_long intr_isrc_dispatch(struct intr_irqsrc *isrc, struct trapframe *tf) { @@ -384,8 +384,7 @@ return (0); } - isrc_increment_straycount(isrc); - return (EINVAL); + return (isrc_increment_straycount(isrc)); } /* Index: sys/sys/intr.h =================================================================== --- sys/sys/intr.h +++ sys/sys/intr.h @@ -107,7 +107,7 @@ bool intr_isrc_init_on_cpu(struct intr_irqsrc *isrc, u_int cpu); #endif -int intr_isrc_dispatch(struct intr_irqsrc *, struct trapframe *); +u_long intr_isrc_dispatch(struct intr_irqsrc *, struct trapframe *); u_int intr_irq_next_cpu(u_int current_cpu, cpuset_t *cpumask); struct intr_pic *intr_pic_register(device_t, intptr_t);