Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge master.kernel.org:/home/rmk/linux-2.6-arm

+12 -2
+12 -2
arch/arm/mach-at91rm9200/gpio.c
··· 274 274 gpio = &irq_desc[pin]; 275 275 276 276 while (isr) { 277 - if (isr & 1) 278 - gpio->handle(pin, gpio, regs); 277 + if (isr & 1) { 278 + if (unlikely(gpio->disable_depth)) { 279 + /* 280 + * The core ARM interrupt handler lazily disables IRQs so 281 + * another IRQ must be generated before it actually gets 282 + * here to be disabled on the GPIO controller. 283 + */ 284 + gpio_irq_mask(pin); 285 + } 286 + else 287 + gpio->handle(pin, gpio, regs); 288 + } 279 289 pin++; 280 290 gpio++; 281 291 isr >>= 1;