From: Sakari Ailus Date: Mon, 4 Mar 2019 09:36:40 +0000 (-0500) Subject: media: ipu3-cio2: Clean up notifier's subdev list if parsing endpoints fails X-Git-Tag: for-linus-2019-09-27~105^2~214 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=f6a5242b7cf20bf34e5362896df310a35ba3b90b;p=linux-2.6-block.git media: ipu3-cio2: Clean up notifier's subdev list if parsing endpoints fails The notifier must be cleaned up whenever parsing endpoints fails. Do that to avoid a memory leak in that case. Signed-off-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/pci/intel/ipu3/ipu3-cio2.c b/drivers/media/pci/intel/ipu3/ipu3-cio2.c index 50a34bcd4d14..52bd35c240dd 100644 --- a/drivers/media/pci/intel/ipu3/ipu3-cio2.c +++ b/drivers/media/pci/intel/ipu3/ipu3-cio2.c @@ -1504,7 +1504,7 @@ static int cio2_notifier_init(struct cio2_device *cio2) sizeof(struct sensor_async_subdev), cio2_fwnode_parse); if (ret < 0) - return ret; + goto out; if (list_empty(&cio2->notifier.asd_list)) return -ENODEV; /* no endpoint */ @@ -1514,9 +1514,13 @@ static int cio2_notifier_init(struct cio2_device *cio2) if (ret) { dev_err(&cio2->pci_dev->dev, "failed to register async notifier : %d\n", ret); - v4l2_async_notifier_cleanup(&cio2->notifier); + goto out; } +out: + if (ret) + v4l2_async_notifier_cleanup(&cio2->notifier); + return ret; }