Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b88f005e authored by Thierry Reding's avatar Thierry Reding
Browse files

drm/tegra: fb: Properly release GEM objects on failure



When fbdev initialization fails, make sure to unreference the GEM
objects properly. Note that we can't do this in the general error
unwinding path because ownership of the GEM object references is
transferred to the framebuffer upon creation.

Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 9aaa0ceb
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -227,7 +227,7 @@ static int tegra_fbdev_probe(struct drm_fb_helper *helper,
	info = framebuffer_alloc(0, drm->dev);
	if (!info) {
		dev_err(drm->dev, "failed to allocate framebuffer info\n");
		tegra_bo_free_object(&bo->gem);
		drm_gem_object_unreference_unlocked(&bo->gem);
		return -ENOMEM;
	}

@@ -235,6 +235,7 @@ static int tegra_fbdev_probe(struct drm_fb_helper *helper,
	if (IS_ERR(fbdev->fb)) {
		dev_err(drm->dev, "failed to allocate DRM framebuffer\n");
		err = PTR_ERR(fbdev->fb);
		drm_gem_object_unreference_unlocked(&bo->gem);
		goto release;
	}