diff options
author | Sakari Ailus <sakari.ailus@linux.intel.com> | 2023-10-16 10:23:22 +0300 |
---|---|---|
committer | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2023-11-22 10:56:34 +0100 |
commit | e34660972b88e8d27f17e220fe13609b5cd52ec2 (patch) | |
tree | 015efc0cb2d2a757b3c205b03acdd039a054f7e5 /drivers/media/pci/intel | |
parent | 153cbfc8bdc55642578d0b513c04496ee27b6430 (diff) | |
download | lwn-e34660972b88e8d27f17e220fe13609b5cd52ec2.tar.gz lwn-e34660972b88e8d27f17e220fe13609b5cd52ec2.zip |
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 <sakari.ailus@linux.intel.com>
Tested-by: Wentong Wu <wentong.wu@intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Diffstat (limited to 'drivers/media/pci/intel')
-rw-r--r-- | drivers/media/pci/intel/ivsc/mei_csi.c | 14 |
1 files changed, 9 insertions, 5 deletions
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; } |