If chip already added, we have a leak of v_chip. This patch
free v_chip if camera_chip_add(v_chip) return error.
bug
200007998
Change-Id: I81af0e8bd9f96f4d3d07491476584f48a8b33c1f
Signed-off-by: Allen Yu <alleny@nvidia.com>
Reviewed-on: http://git-master/r/416223
GVS: Gerrit_Virtual_Submit
Reviewed-by: Kerwin Wan <kerwinw@nvidia.com>
Reviewed-by: Thomas Cherry <tcherry@nvidia.com>
Reviewed-on: http://git-master/r/416887
Reviewed-by: Mitch Luban <mluban@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Tested-by: Bharat Nihalani <bnihalani@nvidia.com>
v_chip->shutdown = virtual_shutdown,
v_chip->update = virtual_update,
- camera_chip_add(v_chip);
- return 0;
+ err = camera_chip_add(v_chip);
+ if (err) {
+ kfree(v_chip);
+ if (err == -EEXIST)
+ err = 0;
+ }
+
+ return err;
}
static int __init virtual_init(void)