summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c
diff options
context:
space:
mode:
authorMarcin Slusarz <marcin.slusarz@gmail.com>2010-08-23 22:40:58 +0200
committerFrancisco Jerez <currojerez@riseup.net>2010-08-26 00:28:01 +0200
commita49167c1c03dab9452165f503251e543dec2be9a (patch)
treec270d7b5feaed68631095b5659f988cb372cacae /src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c
parentbd25e23bf3740f59ce8859848c715daeb9e9821f (diff)
nouveau: handle early initialization errors
handle very early errors in pipe_screen creation (failure of nouveau_screen_init in nv50_screen_create) Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Diffstat (limited to 'src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c')
-rw-r--r--src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c b/src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c
index 660dbd0c332..d4bf124ce6f 100644
--- a/src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c
+++ b/src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c
@@ -19,7 +19,8 @@ nouveau_drm_destroy_winsys(struct pipe_winsys *s)
{
struct nouveau_winsys *nv_winsys = nouveau_winsys(s);
struct nouveau_screen *nv_screen= nouveau_screen(nv_winsys->pscreen);
- nouveau_device_close(&nv_screen->device);
+ if (nv_screen)
+ nouveau_device_close(&nv_screen->device);
FREE(nv_winsys);
}