Patch "drm/amdgpu: skip disabling fence driver src_irqs when device is unplugged" has been added to the 6.3-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/amdgpu: skip disabling fence driver src_irqs when device is unplugged

to the 6.3-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-amdgpu-skip-disabling-fence-driver-src_irqs-when.patch
and it can be found in the queue-6.3 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 0fcffb4ddab3605017265a99c842e55be04a9b0d
Author: Guchun Chen <guchun.chen@xxxxxxx>
Date:   Tue May 9 16:15:27 2023 +0800

    drm/amdgpu: skip disabling fence driver src_irqs when device is unplugged
    
    [ Upstream commit c1a322a7a4a96cd0a3dde32ce37af437a78bf8cd ]
    
    When performing device unbind or halt, we have disabled all irqs at the
    very begining like amdgpu_pci_remove or amdgpu_device_halt. So
    amdgpu_irq_put for irqs stored in fence driver should not be called
    any more, otherwise, below calltrace will arrive.
    
    [  139.114088] WARNING: CPU: 2 PID: 1550 at drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c:616 amdgpu_irq_put+0xf6/0x110 [amdgpu]
    [  139.114655] Call Trace:
    [  139.114655]  <TASK>
    [  139.114657]  amdgpu_fence_driver_hw_fini+0x93/0x130 [amdgpu]
    [  139.114836]  amdgpu_device_fini_hw+0xb6/0x350 [amdgpu]
    [  139.114955]  amdgpu_driver_unload_kms+0x51/0x70 [amdgpu]
    [  139.115075]  amdgpu_pci_remove+0x63/0x160 [amdgpu]
    [  139.115193]  ? __pm_runtime_resume+0x64/0x90
    [  139.115195]  pci_device_remove+0x3a/0xb0
    [  139.115197]  device_remove+0x43/0x70
    [  139.115198]  device_release_driver_internal+0xbd/0x140
    
    Signed-off-by: Guchun Chen <guchun.chen@xxxxxxx>
    Acked-by: Alex Deucher <alexander.deucher@xxxxxxx>
    Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
index f52d0ba91a770..a7d250809da99 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c
@@ -582,7 +582,8 @@ void amdgpu_fence_driver_hw_fini(struct amdgpu_device *adev)
 		if (r)
 			amdgpu_fence_driver_force_completion(ring);
 
-		if (ring->fence_drv.irq_src)
+		if (!drm_dev_is_unplugged(adev_to_drm(adev)) &&
+		    ring->fence_drv.irq_src)
 			amdgpu_irq_put(adev, ring->fence_drv.irq_src,
 				       ring->fence_drv.irq_type);
 



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux