From b7e609663a50ebe4a54d7980277056a91af7371a Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Thu, 25 Mar 2010 16:00:09 +1000 Subject: [PATCH] --- yaml --- r: 189690 b: refs/heads/master c: 78bb35129e9400fb50580e971d964563fc8e0218 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/nouveau/nouveau_state.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index a82e18918c10..6b88d70db1b6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 494ab824f179ddeb2022cbb1d25aee41ab46ee9b +refs/heads/master: 78bb35129e9400fb50580e971d964563fc8e0218 diff --git a/trunk/drivers/gpu/drm/nouveau/nouveau_state.c b/trunk/drivers/gpu/drm/nouveau/nouveau_state.c index 1ee2b65d72e9..a9e9cf35429c 100644 --- a/trunk/drivers/gpu/drm/nouveau/nouveau_state.c +++ b/trunk/drivers/gpu/drm/nouveau/nouveau_state.c @@ -505,7 +505,7 @@ nouveau_card_init(struct drm_device *dev) else ret = nv04_display_create(dev); if (ret) - goto out_irq; + goto out_channel; } ret = nouveau_backlight_init(dev); @@ -519,6 +519,11 @@ nouveau_card_init(struct drm_device *dev) return 0; +out_channel: + if (dev_priv->channel) { + nouveau_channel_free(dev_priv->channel); + dev_priv->channel = NULL; + } out_irq: drm_irq_uninstall(dev); out_fifo: @@ -536,6 +541,7 @@ nouveau_card_init(struct drm_device *dev) out_gpuobj: nouveau_gpuobj_takedown(dev); out_mem: + nouveau_sgdma_takedown(dev); nouveau_mem_close(dev); out_instmem: engine->instmem.takedown(dev);