Commit 088e7c16 authored by Mikita Lipski's avatar Mikita Lipski Committed by Alex Deucher
Browse files

drm/amdgpu: Disable irq on device before destroying it



Disable irq on devices before destroying them. That prevents
use-after-free memory access when unloading the driver.

Signed-off-by: default avatarMikita Lipski <mikita.lipski@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent ff97cba8
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1722,6 +1722,9 @@ static int amdgpu_device_ip_fini(struct amdgpu_device *adev)
	int i, r;

	amdgpu_amdkfd_device_fini(adev);
	/* disable all interrupts */
	amdgpu_irq_disable_all(adev);

	/* need to disable SMC first */
	for (i = 0; i < adev->num_ip_blocks; i++) {
		if (!adev->ip_blocks[i].status.hw)
@@ -1773,8 +1776,6 @@ static int amdgpu_device_ip_fini(struct amdgpu_device *adev)
		adev->ip_blocks[i].status.hw = false;
	}

	/* disable all interrupts */
	amdgpu_irq_disable_all(adev);

	for (i = adev->num_ip_blocks - 1; i >= 0; i--) {
		if (!adev->ip_blocks[i].status.sw)