From bd58a55eb6a3f3930d7ac75e08fa005bc461eebe Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Wed, 16 May 2018 22:22:18 +0100 Subject: [PATCH] trs80: fix IRQ handling logic --- Kernel/platform-trs80/main.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Kernel/platform-trs80/main.c b/Kernel/platform-trs80/main.c index 013dd1d5..19799b8e 100644 --- a/Kernel/platform-trs80/main.c +++ b/Kernel/platform-trs80/main.c @@ -33,13 +33,15 @@ uint8_t platform_param(char *p) void platform_interrupt(void) { - uint8_t irq = irqstat; + uint8_t irq = ~irqstat; + uint8_t dummy; if (irq & 0x20) tty_interrupt(); - if (!(irq & 0x80)) - return; - kbd_interrupt(); - timer_interrupt(); + if (irq & 0x04) { + kbd_interrupt(); + timer_interrupt(); + dummy = irqack; + } } /* -- 2.34.1