From e34660972b88e8d27f17e220fe13609b5cd52ec2 Mon Sep 17 00:00:00 2001 From: Sakari Ailus Date: Mon, 16 Oct 2023 10:23:22 +0300 Subject: media: ivsc: csi: Clean up V4L2 async notifier on error Clean up the V4L2 async notifier in error handling path, and add label to unify handling. Signed-off-by: Sakari Ailus Tested-by: Wentong Wu Signed-off-by: Hans Verkuil --- drivers/media/pci/intel/ivsc/mei_csi.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'drivers/media/pci') diff --git a/drivers/media/pci/intel/ivsc/mei_csi.c b/drivers/media/pci/intel/ivsc/mei_csi.c index 790b1101d579..19f1a47ba52d 100644 --- a/drivers/media/pci/intel/ivsc/mei_csi.c +++ b/drivers/media/pci/intel/ivsc/mei_csi.c @@ -672,16 +672,20 @@ static int mei_csi_parse_firmware(struct mei_csi *csi) asd = v4l2_async_nf_add_fwnode(&csi->notifier, fwnode, struct v4l2_async_connection); + fwnode_handle_put(fwnode); if (IS_ERR(asd)) { - fwnode_handle_put(fwnode); - return PTR_ERR(asd); + ret = PTR_ERR(asd); + goto out_nf_cleanup; } - fwnode_handle_put(fwnode); - ret = v4l2_async_nf_register(&csi->notifier); if (ret) - v4l2_async_nf_cleanup(&csi->notifier); + goto out_nf_cleanup; + + return 0; + +out_nf_cleanup: + v4l2_async_nf_cleanup(&csi->notifier); return ret; } -- cgit