Commit 4192f7b5 authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/amdgpu: unmap register bar on device init failure



We never unmapped the regiser BAR on failure.

Reported-by: default avatarkernel test robot <lkp@intel.com>
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: default avatarAndrey Grodzovsky <andrey.grodzovsky@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent b6c91dad
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -3209,13 +3209,13 @@ int amdgpu_device_init(struct amdgpu_device *adev,
	r = amdgpu_device_get_job_timeout_settings(adev);
	if (r) {
		dev_err(adev->dev, "invalid lockup_timeout parameter syntax\n");
		return r;
		goto failed_unmap;
	}

	/* early init functions */
	r = amdgpu_device_ip_early_init(adev);
	if (r)
		return r;
		goto failed_unmap;

	/* doorbell bar mapping and doorbell index init*/
	amdgpu_device_doorbell_init(adev);
@@ -3419,6 +3419,10 @@ failed:
	if (boco)
		vga_switcheroo_fini_domain_pm_ops(adev->dev);

failed_unmap:
	iounmap(adev->rmmio);
	adev->rmmio = NULL;

	return r;
}