Commit 97b329a1 authored by Jacek Lawrynowicz's avatar Jacek Lawrynowicz Committed by Xiangwei Li
Browse files

accel/ivpu: Fix WARN in ivpu_ipc_send_receive_internal()

mainline inclusion
from mainline-v6.13-rc4
commit 0f6482caa6acdfdfc744db7430771fe7e6c4e787
category: bugfix
bugzilla: https://gitee.com/src-openeuler/kernel/issues/IBJCMO
CVE: CVE-2024-54193

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0f6482caa6acdfdfc744db7430771fe7e6c4e787



-------------------------------------

Move pm_runtime_set_active() to ivpu_pm_init() so when
ivpu_ipc_send_receive_internal() is executed before ivpu_pm_enable()
it already has correct runtime state, even if last resume was
not successful.

Fixes: 8ed520ff4682 ("accel/ivpu: Move set autosuspend delay to HW specific code")
Cc: stable@vger.kernel.org # v6.7+
Reviewed-by: default avatarKarol Wachowski <karol.wachowski@intel.com>
Reviewed-by: default avatarJeffrey Hugo <quic_jhugo@quicinc.com>
Signed-off-by: default avatarJacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241210130939.1575610-4-jacek.lawrynowicz@linux.intel.com


Signed-off-by: default avatarXiangwei Li <liwei728@huawei.com>
parent bba8eb87
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -302,6 +302,7 @@ int ivpu_pm_init(struct ivpu_device *vdev)

	pm_runtime_use_autosuspend(dev);
	pm_runtime_set_autosuspend_delay(dev, delay);
	pm_runtime_set_active(dev);

	ivpu_dbg(vdev, PM, "Autosuspend delay = %d\n", delay);

@@ -317,7 +318,6 @@ void ivpu_pm_enable(struct ivpu_device *vdev)
{
	struct device *dev = vdev->drm.dev;

	pm_runtime_set_active(dev);
	pm_runtime_allow(dev);
	pm_runtime_mark_last_busy(dev);
	pm_runtime_put_autosuspend(dev);