This is an automatic generated email to let you know that the following patch 
were queued:

Subject: media: imx319: Enable runtime PM before registering async sub-device
Author:  Sakari Ailus <sakari.ai...@linux.intel.com>
Date:    Wed Nov 1 10:22:20 2023 +0200

As the sensor may be accessible right after its async sub-device is
registered, enable runtime PM before doing so.

Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
Reviewed-by: Kieran Bingham <kieran.bing...@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil-ci...@xs4all.nl>

 drivers/media/i2c/imx319.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

---

diff --git a/drivers/media/i2c/imx319.c b/drivers/media/i2c/imx319.c
index 420984382173..e47eff672e0c 100644
--- a/drivers/media/i2c/imx319.c
+++ b/drivers/media/i2c/imx319.c
@@ -2463,19 +2463,21 @@ static int imx319_probe(struct i2c_client *client)
                goto error_handler_free;
        }
 
-       ret = v4l2_async_register_subdev_sensor(&imx319->sd);
-       if (ret < 0)
-               goto error_media_entity;
-
        /* Set the device's state to active if it's in D0 state. */
        if (full_power)
                pm_runtime_set_active(&client->dev);
        pm_runtime_enable(&client->dev);
        pm_runtime_idle(&client->dev);
 
+       ret = v4l2_async_register_subdev_sensor(&imx319->sd);
+       if (ret < 0)
+               goto error_media_entity_pm;
+
        return 0;
 
-error_media_entity:
+error_media_entity_pm:
+       pm_runtime_disable(&client->dev);
+       pm_runtime_set_suspended(&client->dev);
        media_entity_cleanup(&imx319->sd.entity);
 
 error_handler_free:

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to