summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shared/via_irq.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/shared/via_irq.c b/shared/via_irq.c
index 4d62c69a..1e22a773 100644
--- a/shared/via_irq.c
+++ b/shared/via_irq.c
@@ -54,14 +54,15 @@ irqreturn_t via_driver_irq_handler(DRM_IRQ_ARGS)
{
drm_device_t *dev = (drm_device_t *) arg;
drm_via_private_t *dev_priv = (drm_via_private_t *) dev->dev_private;
- int handled = IRQ_NONE;
u32 status = VIA_READ(VIA_REG_INTERRUPT);
if (status & VIA_IRQ_VBI_PENDING) {
atomic_inc(&dev->vbl_received);
DRM_WAKEUP(&dev->vbl_queue);
DRM(vbl_send_signals) (dev);
- handled = IRQ_HANDLED;
+
+ VIA_WRITE(VIA_REG_INTERRUPT, status);
+ return IRQ_HANDLED;
}
#if 0
@@ -74,7 +75,7 @@ irqreturn_t via_driver_irq_handler(DRM_IRQ_ARGS)
#endif
VIA_WRITE(VIA_REG_INTERRUPT, status);
- return handled;
+ return IRQ_NONE;
}
static __inline__ void viadrv_acknowledge_irqs(drm_via_private_t * dev_priv)