[PATCH] drm/amdgpu: fix crash in acp_hw_init

Deucher, Alexander Alexander.Deucher at amd.com
Thu Nov 3 21:51:59 UTC 2016


> -----Original Message-----
> From: Alex Deucher [mailto:alexdeucher at gmail.com]
> Sent: Thursday, November 03, 2016 5:50 PM
> To: amd-gfx at lists.freedesktop.org
> Cc: Deucher, Alexander; stable at vger.kernel.org
> Subject: [PATCH] drm/amdgpu: fix crash in acp_hw_init

Ignore this.  typo in the subject.  New version with fixed subject sent.

Alex

> 
> On CZ/ST systems with AZ rather than ACP audio, we need to bail
> early in hw_fini since there is nothing to do.
> 
> bug: https://bugs.freedesktop.org/show_bug.cgi?id=98276
> 
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> Cc: stable at vger.kernel.org
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
> index 176c3d7..1130f9d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
> @@ -395,9 +395,12 @@ static int acp_hw_fini(void *handle)
>  {
>  	int i, ret;
>  	struct device *dev;
> -
>  	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
> 
> +	/* return early if no ACP */
> +	if (!adev->acp.acp_genpd)
> +		return 0;
> +
>  	for (i = 0; i < ACP_DEVS ; i++) {
>  		dev = get_mfd_cell_dev(adev->acp.acp_cell[i].name, i);
>  		ret = pm_genpd_remove_device(&adev->acp.acp_genpd-
> >gpd, dev);
> --
> 2.5.5



More information about the amd-gfx mailing list