aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/drm/drm_irq.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/drm/drm_irq.c')
-rw-r--r--drivers/char/drm/drm_irq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/char/drm/drm_irq.c b/drivers/char/drm/drm_irq.c
index 2b10e5b60cfa..b08608a9f026 100644
--- a/drivers/char/drm/drm_irq.c
+++ b/drivers/char/drm/drm_irq.c
@@ -119,7 +119,6 @@ static int drm_irq_install(drm_device_t * dev)
119 init_waitqueue_head(&dev->vbl_queue); 119 init_waitqueue_head(&dev->vbl_queue);
120 120
121 spin_lock_init(&dev->vbl_lock); 121 spin_lock_init(&dev->vbl_lock);
122 spin_lock_init(&dev->tasklet_lock);
123 122
124 INIT_LIST_HEAD(&dev->vbl_sigs.head); 123 INIT_LIST_HEAD(&dev->vbl_sigs.head);
125 INIT_LIST_HEAD(&dev->vbl_sigs2.head); 124 INIT_LIST_HEAD(&dev->vbl_sigs2.head);
@@ -456,7 +455,8 @@ void drm_locked_tasklet(drm_device_t *dev, void (*func)(drm_device_t*))
456 unsigned long irqflags; 455 unsigned long irqflags;
457 static DECLARE_TASKLET(drm_tasklet, drm_locked_tasklet_func, 0); 456 static DECLARE_TASKLET(drm_tasklet, drm_locked_tasklet_func, 0);
458 457
459 if (test_bit(TASKLET_STATE_SCHED, &drm_tasklet.state)) 458 if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ) ||
459 test_bit(TASKLET_STATE_SCHED, &drm_tasklet.state))
460 return; 460 return;
461 461
462 spin_lock_irqsave(&dev->tasklet_lock, irqflags); 462 spin_lock_irqsave(&dev->tasklet_lock, irqflags);