Hi, When get event channel by irq by irq, may irq is not a valid one under some condition -- so far we found irq is -1 during suspend/resume, so worth to validate it rather than return incorrect data. Please review and comment. Signed-off-by: Joe Jin <joe.jin@xxxxxxxxxx> Tested-by: Gurudas Pai <gurudas.pai@xxxxxxxxxx> Cc: Ian Campbell <ian.campbell@xxxxxxxxxx> Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- events.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/xen/events.c b/drivers/xen/events.c index ac7b42f..006dd7b 100644 --- a/drivers/xen/events.c +++ b/drivers/xen/events.c @@ -175,6 +175,9 @@ static struct irq_info *info_for_irq(unsigned irq) static unsigned int evtchn_from_irq(unsigned irq) { + if (WARN(irq < 0 || irq >= nr_irqs, "Invalid irq %d!\n", irq)) + return 0; + return info_for_irq(irq)->evtchn; } -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html