diff options
-rw-r--r-- | pci.c | 10 |
1 files changed, 3 insertions, 7 deletions
@@ -15,12 +15,6 @@ void handle_pong_sync(struct doom_data *doom_data) up(&doom_data->pong_sem); } -void handle_pong_async(struct doom_data *doom_data) -{ - up(&doom_data->pong_async_sem); - disable_intr(doom_data->iomem, HARDDOOM_INTR_PONG_ASYNC); -} - irqreturn_t doom_irq(int irq, void *dev) { uint32_t interrupts; @@ -44,7 +38,9 @@ irqreturn_t doom_irq(int irq, void *dev) } if (interrupts & HARDDOOM_INTR_PONG_ASYNC) { - handle_pong_async(doom_data); + up(&doom_data->pong_async_sem); + iowrite32(HARDDOOM_INTR_MASK & (~HARDDOOM_INTR_PONG_ASYNC), + iomem + HARDDOOM_INTR_ENABLE); } return IRQ_HANDLED; |