[PATCH 16/22] media: platform: hantro_drv: Add missing media_entity_cleanup()

From: Biren Pandya

Date: Sun Jun 14 2026 - 12:58:12 EST


Signed-off-by: Biren Pandya <birenpandya@xxxxxxxxx>
---
drivers/media/platform/verisilicon/hantro_drv.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/media/platform/verisilicon/hantro_drv.c b/drivers/media/platform/verisilicon/hantro_drv.c
index 2e81877f640f..ad71c0402ef3 100644
--- a/drivers/media/platform/verisilicon/hantro_drv.c
+++ b/drivers/media/platform/verisilicon/hantro_drv.c
@@ -771,8 +771,10 @@ static int hantro_register_entity(struct media_device *mdev,
return ret;

ret = media_device_register_entity(mdev, entity);
- if (ret)
+ if (ret) {
+ media_entity_cleanup(entity);
return ret;
+ }

return 0;
}
@@ -860,12 +862,13 @@ static int hantro_attach_func(struct hantro_dev *vpu,

err_rel_entity2:
media_device_unregister_entity(&func->sink);
-
+ media_entity_cleanup(&func->sink);
err_rel_entity1:
media_device_unregister_entity(&func->proc);
-
+ media_entity_cleanup(&func->proc);
err_rel_entity0:
media_device_unregister_entity(&func->vdev.entity);
+ media_entity_cleanup(&func->vdev.entity);
return ret;
}

@@ -878,6 +881,9 @@ static void hantro_detach_func(struct hantro_func *func)
media_device_unregister_entity(&func->sink);
media_device_unregister_entity(&func->proc);
media_device_unregister_entity(&func->vdev.entity);
+ media_entity_cleanup(&func->sink);
+ media_entity_cleanup(&func->proc);
+ media_entity_cleanup(&func->vdev.entity);
}

static int hantro_add_func(struct hantro_dev *vpu, unsigned int funcid)
--
2.50.1 (Apple Git-155)