diff options
author | Marcin Slusarz <marcin.slusarz@gmail.com> | 2011-11-11 20:45:08 +0100 |
---|---|---|
committer | Marcin Slusarz <marcin.slusarz@gmail.com> | 2011-12-11 17:00:42 +0100 |
commit | 237d6fa97a3c94b1ffb9d0ce230b8c7b95fccae4 (patch) | |
tree | 1756dbf05dbd11bc8775fad05608e6f3569c7811 | |
parent | 0e9b79c22a53efb8413ba6b4e49085a08221a5d3 (diff) |
nv50/nvc0: fix crash when channel allocation fails
-rw-r--r-- | src/gallium/drivers/nv50/nv50_screen.c | 3 | ||||
-rw-r--r-- | 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); |