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-Url: http://git.maquefel.me/?a=commitdiff_plain;h=f6a5242b7cf20bf34e5362896df310a35ba3b90b;p=linux.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 50a34bcd4d145..52bd35c240ddc 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; }