Skip to content

Commit 6f7fe9a

Browse files
KyleMahlkuchalexdeucher
authored andcommitted
drm/radeon: Fix EEH during kexec
During kexec some adapters hit an EEH since they are not properly shut down in the radeon_pci_shutdown() function. Adding radeon_suspend_kms() fixes this issue. Signed-off-by: KyleMahlkuch <kmahlkuc@linux.vnet.ibm.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
1 parent 5145d57 commit 6f7fe9a

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

drivers/gpu/drm/radeon/radeon_drv.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,11 +349,19 @@ radeon_pci_remove(struct pci_dev *pdev)
349349
static void
350350
radeon_pci_shutdown(struct pci_dev *pdev)
351351
{
352+
struct drm_device *ddev = pci_get_drvdata(pdev);
353+
352354
/* if we are running in a VM, make sure the device
353355
* torn down properly on reboot/shutdown
354356
*/
355357
if (radeon_device_is_virtual())
356358
radeon_pci_remove(pdev);
359+
360+
/* Some adapters need to be suspended before a
361+
* shutdown occurs in order to prevent an error
362+
* during kexec.
363+
*/
364+
radeon_suspend_kms(ddev, true, true, false);
357365
}
358366

359367
static int radeon_pmops_suspend(struct device *dev)

0 commit comments

Comments
 (0)