From df86daae961b2235cbb2e2a7c7e4fd6432541eb6 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Fri, 26 Apr 2013 12:03:10 +1000 Subject: [PATCH] --- yaml --- r: 371606 b: refs/heads/master c: 10eeaf123dd55cd2c1d2d23366d211dafbe71bde h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/nouveau/core/core/event.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 74eba3d8311f..f668e05ccd7b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6d1d1cc97b8b24e9f7842de13f4b00393392c990 +refs/heads/master: 10eeaf123dd55cd2c1d2d23366d211dafbe71bde diff --git a/trunk/drivers/gpu/drm/nouveau/core/core/event.c b/trunk/drivers/gpu/drm/nouveau/core/core/event.c index 6d01e0f0fc8a..7eb81c1b6fab 100644 --- a/trunk/drivers/gpu/drm/nouveau/core/core/event.c +++ b/trunk/drivers/gpu/drm/nouveau/core/core/event.c @@ -27,8 +27,10 @@ static void nouveau_event_put_locked(struct nouveau_event *event, int index, struct nouveau_eventh *handler) { - if (!--event->index[index].refs) - event->disable(event, index); + if (!--event->index[index].refs) { + if (event->disable) + event->disable(event, index); + } list_del(&handler->head); } @@ -53,8 +55,10 @@ nouveau_event_get(struct nouveau_event *event, int index, spin_lock_irqsave(&event->lock, flags); if (index < event->index_nr) { list_add(&handler->head, &event->index[index].list); - if (!event->index[index].refs++) - event->enable(event, index); + if (!event->index[index].refs++) { + if (event->enable) + event->enable(event, index); + } } spin_unlock_irqrestore(&event->lock, flags); }