Commit 78bb3512 authored by Ben Skeggs's avatar Ben Skeggs

drm/nouveau: fixup the init failure paths some more

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 494ab824
...@@ -505,7 +505,7 @@ nouveau_card_init(struct drm_device *dev) ...@@ -505,7 +505,7 @@ nouveau_card_init(struct drm_device *dev)
else else
ret = nv04_display_create(dev); ret = nv04_display_create(dev);
if (ret) if (ret)
goto out_irq; goto out_channel;
} }
ret = nouveau_backlight_init(dev); ret = nouveau_backlight_init(dev);
...@@ -519,6 +519,11 @@ nouveau_card_init(struct drm_device *dev) ...@@ -519,6 +519,11 @@ nouveau_card_init(struct drm_device *dev)
return 0; return 0;
out_channel:
if (dev_priv->channel) {
nouveau_channel_free(dev_priv->channel);
dev_priv->channel = NULL;
}
out_irq: out_irq:
drm_irq_uninstall(dev); drm_irq_uninstall(dev);
out_fifo: out_fifo:
...@@ -536,6 +541,7 @@ out_mc: ...@@ -536,6 +541,7 @@ out_mc:
out_gpuobj: out_gpuobj:
nouveau_gpuobj_takedown(dev); nouveau_gpuobj_takedown(dev);
out_mem: out_mem:
nouveau_sgdma_takedown(dev);
nouveau_mem_close(dev); nouveau_mem_close(dev);
out_instmem: out_instmem:
engine->instmem.takedown(dev); engine->instmem.takedown(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment