winsys/amdgpu: clean up error paths in amdgpu_winsys_create
No need to call pb_cache_deinit, because the cache hasn't been initialized at that point. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
a6c38d47d4
commit
9fb8d354ca
|
@ -527,17 +527,15 @@ amdgpu_winsys_create(int fd, radeon_screen_create_t screen_create)
|
||||||
|
|
||||||
/* Create a new winsys. */
|
/* Create a new winsys. */
|
||||||
ws = CALLOC_STRUCT(amdgpu_winsys);
|
ws = CALLOC_STRUCT(amdgpu_winsys);
|
||||||
if (!ws) {
|
if (!ws)
|
||||||
pipe_mutex_unlock(dev_tab_mutex);
|
goto fail;
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
ws->dev = dev;
|
ws->dev = dev;
|
||||||
ws->info.drm_major = drm_major;
|
ws->info.drm_major = drm_major;
|
||||||
ws->info.drm_minor = drm_minor;
|
ws->info.drm_minor = drm_minor;
|
||||||
|
|
||||||
if (!do_winsys_init(ws, fd))
|
if (!do_winsys_init(ws, fd))
|
||||||
goto fail;
|
goto fail_alloc;
|
||||||
|
|
||||||
/* Create managers. */
|
/* Create managers. */
|
||||||
pb_cache_init(&ws->bo_cache, 500000, ws->check_vm ? 1.0f : 2.0f, 0,
|
pb_cache_init(&ws->bo_cache, 500000, ws->check_vm ? 1.0f : 2.0f, 0,
|
||||||
|
@ -587,9 +585,9 @@ amdgpu_winsys_create(int fd, radeon_screen_create_t screen_create)
|
||||||
|
|
||||||
return &ws->base;
|
return &ws->base;
|
||||||
|
|
||||||
|
fail_alloc:
|
||||||
|
FREE(ws);
|
||||||
fail:
|
fail:
|
||||||
pipe_mutex_unlock(dev_tab_mutex);
|
pipe_mutex_unlock(dev_tab_mutex);
|
||||||
pb_cache_deinit(&ws->bo_cache);
|
|
||||||
FREE(ws);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue