diff --git a/arch/arm/mach-bcm2708/bcm2708_gpio.c b/arch/arm/mach-bcm2708/bcm2708_gpio.c index c8161e106e6406..2d87250783e92a 100644 --- a/arch/arm/mach-bcm2708/bcm2708_gpio.c +++ b/arch/arm/mach-bcm2708/bcm2708_gpio.c @@ -173,6 +173,8 @@ static void bcm2708_gpio_irq_mask(struct irq_data *d) unsigned long rising = readl(gpio->base + GPIOREN(gb)); unsigned long falling = readl(gpio->base + GPIOFEN(gb)); + gn = gn % 32; + writel(rising & ~(1 << gn), gpio->base + GPIOREN(gb)); writel(falling & ~(1 << gn), gpio->base + GPIOFEN(gb)); }