From bc9e90b9b0609fc11f7d315546826565b4a3b50b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=3D=3Futf-8=3Fq=3FMichel=5FD=3DC3=3DA4nzer=3F=3D?= Date: Tue, 24 Oct 2006 23:30:01 +1000 Subject: [PATCH] --- yaml --- r: 43911 b: refs/heads/master c: 8163e418f71e46a28bac6625b4c633c13bd53c8d h: refs/heads/master i: 43909: d71d5b619e7c68ae3c49749b373ad4920fddeb7e 43907: c0f7cf8eb3d62dcaffc5d4120be0f782188651d8 43903: f4245a50274882dca7b57baa470156b4519ccb49 v: v3 --- [refs] | 2 +- trunk/drivers/char/drm/drm_irq.c | 4 ++-- trunk/drivers/char/drm/drm_stub.c | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 5906dc4dd837..81e566e90dc0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 507c0185a72e89002757a58f6c64de3df84da0de +refs/heads/master: 8163e418f71e46a28bac6625b4c633c13bd53c8d diff --git a/trunk/drivers/char/drm/drm_irq.c b/trunk/drivers/char/drm/drm_irq.c index 2b10e5b60cfa..b08608a9f026 100644 --- a/trunk/drivers/char/drm/drm_irq.c +++ b/trunk/drivers/char/drm/drm_irq.c @@ -119,7 +119,6 @@ static int drm_irq_install(drm_device_t * dev) init_waitqueue_head(&dev->vbl_queue); spin_lock_init(&dev->vbl_lock); - spin_lock_init(&dev->tasklet_lock); INIT_LIST_HEAD(&dev->vbl_sigs.head); INIT_LIST_HEAD(&dev->vbl_sigs2.head); @@ -456,7 +455,8 @@ void drm_locked_tasklet(drm_device_t *dev, void (*func)(drm_device_t*)) unsigned long irqflags; static DECLARE_TASKLET(drm_tasklet, drm_locked_tasklet_func, 0); - if (test_bit(TASKLET_STATE_SCHED, &drm_tasklet.state)) + if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ) || + test_bit(TASKLET_STATE_SCHED, &drm_tasklet.state)) return; spin_lock_irqsave(&dev->tasklet_lock, irqflags); diff --git a/trunk/drivers/char/drm/drm_stub.c b/trunk/drivers/char/drm/drm_stub.c index 6f748e194cf9..5fd6dc0870cf 100644 --- a/trunk/drivers/char/drm/drm_stub.c +++ b/trunk/drivers/char/drm/drm_stub.c @@ -61,6 +61,7 @@ static int drm_fill_in_dev(drm_device_t * dev, struct pci_dev *pdev, spin_lock_init(&dev->count_lock); spin_lock_init(&dev->drw_lock); + spin_lock_init(&dev->tasklet_lock); init_timer(&dev->timer); mutex_init(&dev->struct_mutex); mutex_init(&dev->ctxlist_mutex);