[Nouveau] [mesa PATCH] nouveau: handle early initialization errors
Francisco Jerez
currojerez at riseup.net
Wed Aug 25 15:36:29 PDT 2010
Marcin Slusarz <marcin.slusarz at gmail.com> writes:
> handle very early errors in pipe_screen creation (failure of
> nouveau_screen_init in nv50_screen_create)
> ---
> src/gallium/drivers/nouveau/nouveau_screen.c | 3 ++-
> .../winsys/nouveau/drm/nouveau_drm_winsys.c | 3 ++-
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/drivers/nouveau/nouveau_screen.c b/src/gallium/drivers/nouveau/nouveau_screen.c
> index 513e5e0..ebb21a6 100644
> --- a/src/gallium/drivers/nouveau/nouveau_screen.c
> +++ b/src/gallium/drivers/nouveau/nouveau_screen.c
> @@ -258,6 +258,7 @@ nouveau_screen_fini(struct nouveau_screen *screen)
> {
> struct pipe_winsys *ws = screen->base.winsys;
> nouveau_channel_free(&screen->channel);
> - ws->destroy(ws);
> + if (ws)
> + ws->destroy(ws);
> }
>
> diff --git a/src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c b/src/gallium/winsys/nouveau/drm/nouveau_drm_winsys.c
> index 660dbd0..d4bf124 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);
> }
Thanks, pushed.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 229 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20100826/93f69607/attachment.pgp>
More information about the Nouveau
mailing list