diff --git a/arch/microblaze/kernel/intc.c b/arch/microblaze/kernel/intc.c
index 01ae73088578f57ed03f3f265728946f1ca9a90e..8965fd379570cddd327adc2a273ba363ff5f347d 100644
--- a/arch/microblaze/kernel/intc.c
+++ b/arch/microblaze/kernel/intc.c
@@ -157,7 +157,7 @@ static int __init xilinx_intc_of_init(struct device_node *intc,
 		return ret;
 	}
 
-	if (intr_mask > (u32)((1ULL << nr_irq) - 1))
+	if (intr_mask >> nr_irq)
 		pr_info(" ERROR: Mismatch in kind-of-intr param\n");
 
 	pr_info("%s: num_irq=%d, edge=0x%x\n",