On 2017-10-26 10:53:25 +0300, 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@xxxxxxxxxxxxxxx> > Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> > Acked-by: Pavel Machek <pavel@xxxxxx> Acked-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx> > --- > drivers/media/v4l2-core/v4l2-async.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c > index e170682dae78..46db85685894 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(struct v4l2_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; > } > > -- > 2.11.0 > -- Regards, Niklas Söderlund