On 10/06/2024 12:05, 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. Hmm, this too is due to a revert patch (03/26) removing something that needs to be reinstated. Wouldn't it be better to fold this into 04/26, with a comment in the commit log of that commit? The problem with this commit log is that it suggests that it fixes a bug, when really it just corrects something introduced by a revert. Regards, Hans > > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > Acked-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx> > --- > drivers/media/mc/mc-devnode.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/media/mc/mc-devnode.c b/drivers/media/mc/mc-devnode.c > index 2e33c2007f08..707593d127a7 100644 > --- a/drivers/media/mc/mc-devnode.c > +++ b/drivers/media/mc/mc-devnode.c > @@ -252,9 +252,9 @@ 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); > + put_device(&devnode->dev); > > return ret; > }