]> git.hungrycats.org Git - linux/commitdiff
media: amphion: Fix pm_runtime_set_suspended() with runtime pm enabled
authorJinjie Ruan <ruanjinjie@huawei.com>
Fri, 1 Nov 2024 09:40:49 +0000 (17:40 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Dec 2024 09:33:03 +0000 (10:33 +0100)
commit 316e74500d1c6589cba28cebe2864a0bceeb2396 upstream.

It is not valid to call pm_runtime_set_suspended() for devices
with runtime PM enabled because it returns -EAGAIN if it is enabled
already and working. So, call pm_runtime_disable() before to fix it.

Cc: stable@vger.kernel.org
Fixes: b50a64fc54af ("media: amphion: add amphion vpu device driver")
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/platform/amphion/vpu_drv.c

index 2bf70aafd2baab703bd3a0efa5b51e611e672c07..51d5234869f57db8dce5c0c0246acf0c04c6fdf2 100644 (file)
@@ -151,8 +151,8 @@ err_add_decoder:
        media_device_cleanup(&vpu->mdev);
        v4l2_device_unregister(&vpu->v4l2_dev);
 err_vpu_deinit:
-       pm_runtime_set_suspended(dev);
        pm_runtime_disable(dev);
+       pm_runtime_set_suspended(dev);
 
        return ret;
 }