Skip to content

Commit 9b8df57

Browse files
bijudasMarc Zyngier
authored andcommitted
irqchip: renesas-rzg2l: Fix logic to clear TINT interrupt source
The logic to clear the TINT interrupt source in rzg2l_irqc_irq_disable() is wrong as the mask is correct only for LSB on the TSSR register. This issue is found when testing with two TINT interrupt sources. So fix the logic for all TINTs by using the macro TSSEL_SHIFT() to multiply tssr_offset with 8. Fixes: 3fed095 ("irqchip: Add RZ/G2L IA55 Interrupt Controller driver") Signed-off-by: Biju Das <[email protected]> Tested-by: Claudiu Beznea <[email protected]> Reviewed-by: Geert Uytterhoeven <[email protected]> Reviewed-by: Claudiu Beznea <[email protected]> Signed-off-by: Marc Zyngier <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent cfa1f9d commit 9b8df57

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/irqchip/irq-renesas-rzg2l.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ static void rzg2l_irqc_irq_disable(struct irq_data *d)
118118

119119
raw_spin_lock(&priv->lock);
120120
reg = readl_relaxed(priv->base + TSSR(tssr_index));
121-
reg &= ~(TSSEL_MASK << tssr_offset);
121+
reg &= ~(TSSEL_MASK << TSSEL_SHIFT(tssr_offset));
122122
writel_relaxed(reg, priv->base + TSSR(tssr_index));
123123
raw_spin_unlock(&priv->lock);
124124
}

0 commit comments

Comments
 (0)