Re: [PATCH v13 12/25] v4l: async: Register sub-devices before calling bound callback
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: 2017-09-19 12:01:57
Also in:
linux-media
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: 2017-09-19 12:01:57
Also in:
linux-media
Hi Sakari, Thank you for the patch. On Friday, 15 September 2017 17:17:11 EEST Sakari Ailus wrote:
Register the sub-device before calling the notifier's bound callback. Doing this the other way around is problematic as the struct v4l2_device has not assigned for the sub-device yet and may be required by the bound callback. Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Acked-by: Hans Verkuil <redacted>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
--- drivers/media/v4l2-core/v4l2-async.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)diff --git a/drivers/media/v4l2-core/v4l2-async.cb/drivers/media/v4l2-core/v4l2-async.c index c35d04b9122f..9895b610e2a0 100644--- a/drivers/media/v4l2-core/v4l2-async.c +++ b/drivers/media/v4l2-core/v4l2-async.c@@ -130,13 +130,13 @@ static int v4l2_async_match_notify(structv4l2_async_notifier *notifier, { int ret; - ret = v4l2_async_notifier_call_bound(notifier, sd, asd); + ret = v4l2_device_register_subdev(notifier->v4l2_dev, sd); if (ret < 0) return ret; - ret = v4l2_device_register_subdev(notifier->v4l2_dev, sd); + ret = v4l2_async_notifier_call_bound(notifier, sd, asd); if (ret < 0) { - v4l2_async_notifier_call_unbind(notifier, sd, asd); + v4l2_device_unregister_subdev(sd); return ret; }
-- Regards, Laurent Pinchart