Hi Laurent, On Sat, Feb 27, 2021 at 12:49:38AM +0200, Laurent Pinchart wrote: > From: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > > Make the V4L2 async framework a bit more robust by allowing to > unregister a non-registered async subdev. Otherwise the > v4l2_async_cleanup() will attempt to delete the async subdev from the > subdev_list with the corresponding list_head not initialized. > > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> IMO this can be merged through another tree once the first patch is agreed on. Cc Hans and Mauro, too. > --- > drivers/media/v4l2-core/v4l2-async.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c > index 37cc0263b273..2347b7ac54d4 100644 > --- a/drivers/media/v4l2-core/v4l2-async.c > +++ b/drivers/media/v4l2-core/v4l2-async.c > @@ -750,6 +750,9 @@ EXPORT_SYMBOL(v4l2_async_register_subdev); > > void v4l2_async_unregister_subdev(struct v4l2_subdev *sd) > { > + if (list_is_null(&sd->async_list)) > + return; > + > mutex_lock(&list_lock); > > __v4l2_async_notifier_unregister(sd->subdev_notifier); -- Kind regards, Sakari Ailus