[PATCH 1/2] amdgpu: Only destroy fbdev framebuffer if it was initialized

Christian König deathsimple at vodafone.de
Mon Sep 11 08:24:57 UTC 2017


Am 11.09.2017 um 10:10 schrieb Michel Dänzer:
> From: Michel Dänzer <michel.daenzer at amd.com>
>
> Fixes crash when trying to unload the amdgpu module before the fbdev
> framebuffer was initialized, which can happen since the DRM fbdev helper
> code supports deferred setup.
>
> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>

Acked-by: Christian König <christian.koenig at amd.com> for both.

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> index 9afa9c097e1f..4136996d77ef 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c
> @@ -303,10 +303,10 @@ static int amdgpu_fbdev_destroy(struct drm_device *dev, struct amdgpu_fbdev *rfb
>   	if (rfb->obj) {
>   		amdgpufb_destroy_pinned_object(rfb->obj);
>   		rfb->obj = NULL;
> +		drm_framebuffer_unregister_private(&rfb->base);
> +		drm_framebuffer_cleanup(&rfb->base);
>   	}
>   	drm_fb_helper_fini(&rfbdev->helper);
> -	drm_framebuffer_unregister_private(&rfb->base);
> -	drm_framebuffer_cleanup(&rfb->base);
>   
>   	return 0;
>   }




More information about the amd-gfx mailing list