diff --git a/.pick_status.json b/.pick_status.json index 1a5b6cba66d..dc04f850ce3 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -514,7 +514,7 @@ "description": "frontends/dri: only release pipe when screen init fails", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/frontends/dri/dri2.c b/src/gallium/frontends/dri/dri2.c index ad68f3b08c0..d0f87d9c46f 100644 --- a/src/gallium/frontends/dri/dri2.c +++ b/src/gallium/frontends/dri/dri2.c @@ -2385,7 +2385,7 @@ dri2_init_screen(struct dri_screen *screen) pscreen = pipe_loader_create_screen(screen->dev); if (!pscreen) - goto fail; + return NULL; dri_init_options(screen); screen->throttle = pscreen->get_param(pscreen, PIPE_CAP_THROTTLE); @@ -2419,7 +2419,7 @@ dri2_init_screen(struct dri_screen *screen) return configs; fail: - dri_release_screen(screen); + pipe_loader_release(&screen->dev, 1); return NULL; } diff --git a/src/gallium/frontends/dri/drisw.c b/src/gallium/frontends/dri/drisw.c index 7c6a75a228b..777707c04dc 100644 --- a/src/gallium/frontends/dri/drisw.c +++ b/src/gallium/frontends/dri/drisw.c @@ -565,7 +565,7 @@ drisw_init_screen(struct dri_screen *screen) pscreen = pipe_loader_create_screen(screen->dev); if (!pscreen) - goto fail; + return NULL; dri_init_options(screen); configs = dri_init_screen(screen, pscreen); @@ -593,7 +593,7 @@ drisw_init_screen(struct dri_screen *screen) return configs; fail: - dri_release_screen(screen); + pipe_loader_release(&screen->dev, 1); return NULL; } diff --git a/src/gallium/frontends/dri/kopper.c b/src/gallium/frontends/dri/kopper.c index 61893e7012c..e42035fa426 100644 --- a/src/gallium/frontends/dri/kopper.c +++ b/src/gallium/frontends/dri/kopper.c @@ -134,7 +134,7 @@ kopper_init_screen(struct dri_screen *screen) pscreen = pipe_loader_create_screen(screen->dev); if (!pscreen) - goto fail; + return NULL; dri_init_options(screen); screen->unwrapped_screen = trace_screen_unwrap(pscreen); @@ -167,7 +167,7 @@ kopper_init_screen(struct dri_screen *screen) return configs; fail: - dri_release_screen(screen); + pipe_loader_release(&screen->dev, 1); return NULL; }