Skip to content

Commit 5edf673

Browse files
hongkun.caolinusw
authored andcommitted
pinctrl: mediatek: fix dual-edge code defect
When a dual-edge irq is triggered, an incorrect irq will be reported on condition that the external signal is not stable and this incorrect irq has been registered. Correct the register offset. Cc: [email protected] Signed-off-by: Hongkun Cao <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
1 parent 9feeed9 commit 5edf673

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

drivers/pinctrl/mediatek/pinctrl-mtk-common.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1256,9 +1256,10 @@ static void mtk_eint_irq_handler(struct irq_desc *desc)
12561256
const struct mtk_desc_pin *pin;
12571257

12581258
chained_irq_enter(chip, desc);
1259-
for (eint_num = 0; eint_num < pctl->devdata->ap_num; eint_num += 32) {
1259+
for (eint_num = 0;
1260+
eint_num < pctl->devdata->ap_num;
1261+
eint_num += 32, reg += 4) {
12601262
status = readl(reg);
1261-
reg += 4;
12621263
while (status) {
12631264
offset = __ffs(status);
12641265
index = eint_num + offset;

0 commit comments

Comments
 (0)