From 6a79e9c91e9e0fb9d4fdcdb288952f62333fa5dc Mon Sep 17 00:00:00 2001 From: Sakari Ailus Date: Mon, 11 Mar 2024 13:13:08 +0200 Subject: [PATCH] media: mc: Clear minor number reservation at unregistration time Clear the media device's minor number reservation at unregister time as there's no need to keep it reserved for longer. This makes it possible to reserve the same minor right after unregistration. Signed-off-by: Sakari Ailus Acked-by: Hans Verkuil Signed-off-by: Hans Verkuil --- drivers/media/mc/mc-devnode.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/media/mc/mc-devnode.c b/drivers/media/mc/mc-devnode.c index 56444edaf1365..0d01cbae98f27 100644 --- a/drivers/media/mc/mc-devnode.c +++ b/drivers/media/mc/mc-devnode.c @@ -50,11 +50,6 @@ static void media_devnode_release(struct device *cd) { struct media_devnode *devnode = to_media_devnode(cd); - mutex_lock(&media_devnode_lock); - /* Mark device node number as free */ - clear_bit(devnode->minor, media_devnode_nums); - mutex_unlock(&media_devnode_lock); - /* Release media_devnode and perform other cleanups as needed. */ if (devnode->release) devnode->release(devnode); @@ -284,6 +279,10 @@ void media_devnode_unregister(struct media_devnode *devnode) mutex_unlock(&media_devnode_lock); put_device(&devnode->dev); + + mutex_lock(&media_devnode_lock); + clear_bit(devnode->minor, media_devnode_nums); + mutex_unlock(&media_devnode_lock); } /* -- 2.47.3