diff --git a/bsps/sparc/leon3/include/bsp/irq.h b/bsps/sparc/leon3/include/bsp/irq.h index bc1b5775e7..45d5a8de34 100644 --- a/bsps/sparc/leon3/include/bsp/irq.h +++ b/bsps/sparc/leon3/include/bsp/irq.h @@ -34,11 +34,15 @@ */ static inline bool bsp_interrupt_is_valid_vector(rtems_vector_number vector) { - if (LEON3_IrqCtrl_EIrq != 0) { - return vector <= BSP_INTERRUPT_VECTOR_MAX_EXT; - } else { - return vector <= BSP_INTERRUPT_VECTOR_MAX_STD; + if (vector == 0) { + return false; } + + if (LEON3_IrqCtrl_EIrq > 0) { + return vector <= BSP_INTERRUPT_VECTOR_MAX_EXT; + } + + return vector <= BSP_INTERRUPT_VECTOR_MAX_STD; } void bsp_interrupt_set_affinity(