From 237d6fa97a3c94b1ffb9d0ce230b8c7b95fccae4 Mon Sep 17 00:00:00 2001 From: Marcin Slusarz Date: Fri, 11 Nov 2011 20:45:08 +0100 Subject: nv50/nvc0: fix crash when channel allocation fails --- src/gallium/drivers/nv50/nv50_screen.c | 3 ++- src/gallium/drivers/nvc0/nvc0_screen.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c index 4fcf52978ad..f176a868b20 100644 --- a/src/gallium/drivers/nv50/nv50_screen.c +++ b/src/gallium/drivers/nv50/nv50_screen.c @@ -215,7 +215,8 @@ nv50_screen_destroy(struct pipe_screen *pscreen) nouveau_fence_wait(screen->base.fence.current); nouveau_fence_ref (NULL, &screen->base.fence.current); } - screen->base.channel->user_private = NULL; + if (screen->base.channel) + screen->base.channel->user_private = NULL; nouveau_bo_ref(NULL, &screen->code); nouveau_bo_ref(NULL, &screen->tls_bo); diff --git a/src/gallium/drivers/nvc0/nvc0_screen.c b/src/gallium/drivers/nvc0/nvc0_screen.c index 0946fd7e27b..43eb6ce5bb5 100644 --- a/src/gallium/drivers/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nvc0/nvc0_screen.c @@ -202,7 +202,8 @@ nvc0_screen_destroy(struct pipe_screen *pscreen) nouveau_fence_wait(screen->base.fence.current); nouveau_fence_ref(NULL, &screen->base.fence.current); } - screen->base.channel->user_private = NULL; + if (screen->base.channel) + screen->base.channel->user_private = NULL; nouveau_bo_ref(NULL, &screen->text); nouveau_bo_ref(NULL, &screen->tls); -- cgit v1.2.3