Skip to content

Commit

Permalink
drm/nouveau: cleanup after display init failure
Browse files Browse the repository at this point in the history
Depending on exact point of failure, not cleaning would lead to
BUG_ONs/oopses in various distant places.

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
  • Loading branch information
Marcin Slusarz authored and Ben Skeggs committed May 24, 2012
1 parent d37f60c commit 5ace2c9
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions drivers/gpu/drm/nouveau/nouveau_display.c
Original file line number Diff line number Diff line change
Expand Up @@ -325,14 +325,21 @@ nouveau_display_create(struct drm_device *dev)

ret = disp->create(dev);
if (ret)
return ret;
goto disp_create_err;

if (dev->mode_config.num_crtc) {
ret = drm_vblank_init(dev, dev->mode_config.num_crtc);
if (ret)
return ret;
goto vblank_err;
}

return 0;

vblank_err:
disp->destroy(dev);
disp_create_err:
drm_kms_helper_poll_fini(dev);
drm_mode_config_cleanup(dev);
return ret;
}

Expand Down

0 comments on commit 5ace2c9

Please sign in to comment.