coda: fix error path in case of missing pdata on non-DT platform
authorPhilipp Zabel <p.zabel@pengutronix.de>
Fri, 26 Feb 2016 11:21:35 +0000 (08:21 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Apr 2016 06:42:09 +0000 (15:42 +0900)
commit bc717d5e92c8c079280eb4acbe335c6f25041aa2 upstream.

If we bail out this early, v4l2_device_register() has not been called
yet, so no need to call v4l2_device_unregister().

Fixes: b7bd660a51f0 ("[media] coda: Call v4l2_device_unregister() from a single location")
Reported-by: Michael Olbrich <m.olbrich@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/platform/coda/coda-common.c

index 15516a6e3a3916c090762d360ee10fdaeba0efbc..323aad3c89de687a580ec15694ae7d59b8b3d1f9 100644 (file)
@@ -2119,14 +2119,12 @@ static int coda_probe(struct platform_device *pdev)
 
        pdev_id = of_id ? of_id->data : platform_get_device_id(pdev);
 
-       if (of_id) {
+       if (of_id)
                dev->devtype = of_id->data;
-       } else if (pdev_id) {
+       else if (pdev_id)
                dev->devtype = &coda_devdata[pdev_id->driver_data];
-       } else {
-               ret = -EINVAL;
-               goto err_v4l2_register;
-       }
+       else
+               return -EINVAL;
 
        spin_lock_init(&dev->irqlock);
        INIT_LIST_HEAD(&dev->instances);