diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_device.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 | 
1 files changed, 4 insertions, 4 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c index 49ef22dcf7fb..f4628412dac4 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -4531,6 +4531,9 @@ void amdgpu_device_fini_hw(struct amdgpu_device *adev)  {  	dev_info(adev->dev, "amdgpu: finishing device.\n");  	flush_delayed_work(&adev->delayed_init_work); + +	if (adev->mman.initialized) +		drain_workqueue(adev->mman.bdev.wq);  	adev->shutdown = true;  	/* make sure IB test finished before entering exclusive mode @@ -4551,9 +4554,6 @@ void amdgpu_device_fini_hw(struct amdgpu_device *adev)  	}  	amdgpu_fence_driver_hw_fini(adev); -	if (adev->mman.initialized) -		drain_workqueue(adev->mman.bdev.wq); -  	if (adev->pm.sysfs_initialized)  		amdgpu_pm_sysfs_fini(adev);  	if (adev->ucode_sysfs_en) @@ -5489,7 +5489,7 @@ int amdgpu_do_asic_reset(struct list_head *device_list_handle,  				vram_lost = amdgpu_device_check_vram_lost(tmp_adev);  				if (!test_bit(AMDGPU_SKIP_COREDUMP, &reset_context->flags)) -					amdgpu_coredump(tmp_adev, vram_lost, reset_context); +					amdgpu_coredump(tmp_adev, false, vram_lost, reset_context->job);  				if (vram_lost) {  					DRM_INFO("VRAM is lost due to GPU reset!\n"); |