summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nouveau/nouveau_channel.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/nouveau/nouveau_channel.c b/nouveau/nouveau_channel.c
index 01d6681b..5622c1d9 100644
--- a/nouveau/nouveau_channel.c
+++ b/nouveau/nouveau_channel.c
@@ -90,7 +90,11 @@ nouveau_channel_alloc(struct nouveau_device *dev, uint32_t fb_ctxdma,
return ret;
}
- nouveau_pushbuf_init(&nvchan->base);
+ ret = nouveau_pushbuf_init(&nvchan->base);
+ if (ret) {
+ nouveau_channel_free((void *)&nvchan);
+ return ret;
+ }
*chan = &nvchan->base;
return 0;