From 7b328122981a23f874105f333a5ec14ce887b0a8 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Thu, 21 Jan 2010 15:17:26 +1000 Subject: nouveau: fail channel creation if pushbuf init fails --- nouveau/nouveau_channel.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3