diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_display.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 9 | 
1 files changed, 5 insertions, 4 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c index f7143d927b6d..d76172965199 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c @@ -282,7 +282,7 @@ int amdgpu_display_crtc_set_config(struct drm_mode_set *set,  	ret = pm_runtime_get_sync(dev->dev);  	if (ret < 0) -		return ret; +		goto out;  	ret = drm_crtc_helper_set_config(set, ctx); @@ -297,7 +297,7 @@ int amdgpu_display_crtc_set_config(struct drm_mode_set *set,  	   take the current one */  	if (active && !adev->have_disp_power_ref) {  		adev->have_disp_power_ref = true; -		return ret; +		goto out;  	}  	/* if we have no active crtcs, then drop the power ref  	   we got before */ @@ -306,6 +306,7 @@ int amdgpu_display_crtc_set_config(struct drm_mode_set *set,  		adev->have_disp_power_ref = false;  	} +out:  	/* drop the power reference we got coming in here */  	pm_runtime_put_autosuspend(dev->dev);  	return ret; @@ -576,14 +577,14 @@ amdgpu_display_user_framebuffer_create(struct drm_device *dev,  	amdgpu_fb = kzalloc(sizeof(*amdgpu_fb), GFP_KERNEL);  	if (amdgpu_fb == NULL) { -		drm_gem_object_put_unlocked(obj); +		drm_gem_object_put(obj);  		return ERR_PTR(-ENOMEM);  	}  	ret = amdgpu_display_framebuffer_init(dev, amdgpu_fb, mode_cmd, obj);  	if (ret) {  		kfree(amdgpu_fb); -		drm_gem_object_put_unlocked(obj); +		drm_gem_object_put(obj);  		return ERR_PTR(ret);  	} |