From e9984e1ab4927dcae50b0715053f9e29f91a647f Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Wed, 8 Jun 2011 18:29:12 +1000 Subject: [PATCH] --- yaml --- r: 260139 b: refs/heads/master c: 06b75e3552394af66cc1ee4bfb5fe01a94929adb h: refs/heads/master i: 260137: d5a40e7ac5990579046ba5e07bef35ae55596a9e 260135: 47484131f7801ac72c1c7e53dee191877b8d8d7d v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/nouveau/nouveau_state.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index f75a10f4565e..3ad9c8bf14e2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5de8037ab466d397df17ff72382c33a908f42f6c +refs/heads/master: 06b75e3552394af66cc1ee4bfb5fe01a94929adb diff --git a/trunk/drivers/gpu/drm/nouveau/nouveau_state.c b/trunk/drivers/gpu/drm/nouveau/nouveau_state.c index 50507e7e3f58..27d2a816d2c6 100644 --- a/trunk/drivers/gpu/drm/nouveau/nouveau_state.c +++ b/trunk/drivers/gpu/drm/nouveau/nouveau_state.c @@ -720,11 +720,16 @@ static void nouveau_card_takedown(struct drm_device *dev) struct nouveau_engine *engine = &dev_priv->engine; int e; + drm_kms_helper_poll_fini(dev); + nouveau_fbcon_fini(dev); + if (dev_priv->channel) { - nouveau_fence_fini(dev); nouveau_channel_put_unlocked(&dev_priv->channel); + nouveau_fence_fini(dev); } + engine->display.destroy(dev); + if (!dev_priv->noaccel) { engine->fifo.takedown(dev); for (e = NVOBJ_ENGINE_NR - 1; e >= 0; e--) { @@ -1063,11 +1068,7 @@ void nouveau_lastclose(struct drm_device *dev) int nouveau_unload(struct drm_device *dev) { struct drm_nouveau_private *dev_priv = dev->dev_private; - struct nouveau_engine *engine = &dev_priv->engine; - drm_kms_helper_poll_fini(dev); - nouveau_fbcon_fini(dev); - engine->display.destroy(dev); nouveau_card_takedown(dev); iounmap(dev_priv->mmio);