ramips: gpio-mt7621 was not handling irqs above 31 properly
authorJohn Crispin <john@openwrt.org>
Tue, 20 Oct 2015 07:10:05 +0000 (07:10 +0000)
committerJohn Crispin <john@openwrt.org>
Tue, 20 Oct 2015 07:10:05 +0000 (07:10 +0000)
Signed-off-by: John Crispin <blogic@openwrt.org>
Backport of r47238

SVN-Revision: 47239

target/linux/ramips/patches-3.18/0048-GPIO-ralink-add-mt7621-gpio-controller.patch

index 5d5f99e1eddb34c4356ab6c5f293d02b73a6e060..cb58e16a06f651161fe8aa3900102b15bf300b19 100644 (file)
@@ -250,7 +250,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +              pending = mtk_gpio_r32(rg, GPIO_REG_STAT);
 +
 +              for_each_set_bit(bit, &pending, MTK_BANK_WIDTH) {
-+                      u32 map = irq_find_mapping(mediatek_gpio_irq_domain, bit);
++                      u32 map = irq_find_mapping(mediatek_gpio_irq_domain, (MTK_BANK_WIDTH * i) + bit);
 +
 +                      generic_handle_irq(map);
 +                      mtk_gpio_w32(rg, GPIO_REG_STAT, BIT(bit));