]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
accel/ivpu: Fix Qemu crash when running in passthrough
authorJacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Wed, 6 Nov 2024 10:55:49 +0000 (11:55 +0100)
committerJacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Wed, 13 Nov 2024 10:15:48 +0000 (11:15 +0100)
Restore PCI state after putting the NPU in D0.
Restoring state before powering up the device caused a Qemu crash
if NPU was running in passthrough mode and recovery was performed.

Fixes: 3534eacbf101 ("accel/ivpu: Fix PCI D0 state entry in resume")
Cc: stable@vger.kernel.org # v6.8+
Reviewed-by: Karol Wachowski <karol.wachowski@linux.intel.com>
Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241106105549.2757115-1-jacek.lawrynowicz@linux.intel.com
drivers/accel/ivpu/ivpu_pm.c

index dbc0711e28d138d5a6d1617e58abb6d8163eca07..6821051dfa3a7de0093a3aa06854dfc52fe3a171 100644 (file)
@@ -78,8 +78,8 @@ static int ivpu_resume(struct ivpu_device *vdev)
        int ret;
 
 retry:
-       pci_restore_state(to_pci_dev(vdev->drm.dev));
        pci_set_power_state(to_pci_dev(vdev->drm.dev), PCI_D0);
+       pci_restore_state(to_pci_dev(vdev->drm.dev));
 
        ret = ivpu_hw_power_up(vdev);
        if (ret) {