xen/arm: domain_builder: irq sanity check logic fix
authorStewart Hildebrand <Stewart.Hildebrand@dornerworks.com>
Tue, 27 Feb 2018 15:15:55 +0000 (15:15 +0000)
committerStefano Stabellini <sstabellini@kernel.org>
Fri, 2 Mar 2018 23:15:53 +0000 (15:15 -0800)
Since commit "xen/arm: domain_build: Rework the way to allocate the
event channel interrupt", it is not possible for an irq to be both below 16
and greater/equal than 32.

Also fix the reference to linux documentation while we're at it.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@dornerworks.com>
Signed-off-by: Julien Grall <julien.grall@arm.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
[Slightly rework the commit message]

xen/arch/arm/domain_build.c

index ed1a393bb54c0ad0bd78125efe631c2d8ad917a5..28ee876b92b324f61856990539ed62c93ddedfba 100644 (file)
@@ -503,9 +503,10 @@ static void set_interrupt_ppi(gic_interrupt_t interrupt, unsigned int irq,
 {
     __be32 *cells = interrupt;
 
-    BUG_ON(irq < 16 && irq >= 32);
+    BUG_ON(irq < 16);
+    BUG_ON(irq >= 32);
 
-    /* See linux Documentation/devictree/bindings/arm/gic.txt */
+    /* See linux Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt */
     dt_set_cell(&cells, 1, 1); /* is a PPI */
     dt_set_cell(&cells, 1, irq - 16); /* PPIs start at 16 */
     dt_set_cell(&cells, 1, (cpumask << 8) | level);