Message ID | 20231220103713.113386-10-sakari.ailus@linux.intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Media device lifetime management | expand |
Hi Sakari, Thank you for the patch. On Wed, Dec 20, 2023 at 12:36:53PM +0200, Sakari Ailus wrote: > cdev_device_del() is the right function to remove a device when > cdev_device_add() succeeds. If it does not, however, put_device() needs to > be used instead. Fix this. Where's the put_device() call ? > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> > Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> > --- > drivers/media/mc/mc-devnode.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/media/mc/mc-devnode.c b/drivers/media/mc/mc-devnode.c > index ce93ab9be676..7e22938dfd81 100644 > --- a/drivers/media/mc/mc-devnode.c > +++ b/drivers/media/mc/mc-devnode.c > @@ -254,7 +254,6 @@ int __must_check media_devnode_register(struct media_devnode *devnode, > > cdev_add_error: > mutex_lock(&media_devnode_lock); > - cdev_device_del(&devnode->cdev, &devnode->dev); > clear_bit(devnode->minor, media_devnode_nums); > mutex_unlock(&media_devnode_lock); >
Hi Laurent, On Wed, Feb 07, 2024 at 11:57:25AM +0200, Laurent Pinchart wrote: > Hi Sakari, > > Thank you for the patch. > > On Wed, Dec 20, 2023 at 12:36:53PM +0200, Sakari Ailus wrote: > > cdev_device_del() is the right function to remove a device when > > cdev_device_add() succeeds. If it does not, however, put_device() needs to > > be used instead. Fix this. > > Where's the put_device() call ? Seems to have gone missing at some point. It was added though by "media: mc: Split initialising and adding media devnode" a little later as this got moved to mc-device.c, so fixing this here makes difference until that patch. I'll address this for v3. > > > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> > > Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> > > --- > > drivers/media/mc/mc-devnode.c | 1 - > > 1 file changed, 1 deletion(-) > > > > diff --git a/drivers/media/mc/mc-devnode.c b/drivers/media/mc/mc-devnode.c > > index ce93ab9be676..7e22938dfd81 100644 > > --- a/drivers/media/mc/mc-devnode.c > > +++ b/drivers/media/mc/mc-devnode.c > > @@ -254,7 +254,6 @@ int __must_check media_devnode_register(struct media_devnode *devnode, > > > > cdev_add_error: > > mutex_lock(&media_devnode_lock); > > - cdev_device_del(&devnode->cdev, &devnode->dev); > > clear_bit(devnode->minor, media_devnode_nums); > > mutex_unlock(&media_devnode_lock); > > >
diff --git a/drivers/media/mc/mc-devnode.c b/drivers/media/mc/mc-devnode.c index ce93ab9be676..7e22938dfd81 100644 --- a/drivers/media/mc/mc-devnode.c +++ b/drivers/media/mc/mc-devnode.c @@ -254,7 +254,6 @@ int __must_check media_devnode_register(struct media_devnode *devnode, cdev_add_error: mutex_lock(&media_devnode_lock); - cdev_device_del(&devnode->cdev, &devnode->dev); clear_bit(devnode->minor, media_devnode_nums); mutex_unlock(&media_devnode_lock);