From: Ben Skeggs Date: Thu, 25 Mar 2010 06:00:09 +0000 (+1000) Subject: drm/nouveau: fixup the init failure paths some more X-Git-Tag: v3.0~5042^2~33^2~11 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=78bb35129e9400fb50580e971d964563fc8e0218;p=platform%2Fkernel%2Flinux-amlogic.git drm/nouveau: fixup the init failure paths some more Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/nouveau_state.c b/drivers/gpu/drm/nouveau/nouveau_state.c index 1ee2b65..a9e9cf3 100644 --- a/drivers/gpu/drm/nouveau/nouveau_state.c +++ b/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 @@ out_mc: out_gpuobj: nouveau_gpuobj_takedown(dev); out_mem: + nouveau_sgdma_takedown(dev); nouveau_mem_close(dev); out_instmem: engine->instmem.takedown(dev);