media: vimc: Fix return value check in vimc_add_subdevs()
authorWei Yongjun <weiyongjun1@huawei.com>
Wed, 11 Oct 2017 11:16:43 +0000 (13:16 +0200)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Fri, 27 Oct 2017 12:00:11 +0000 (14:00 +0200)
In case of error, the function platform_device_register_data() returns
ERR_PTR() and never returns NULL. The NULL test in the return value check
should be replaced with IS_ERR().

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Acked-by: Helen Koike <helen.koike@collabora.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/platform/vimc/vimc-core.c

index 51c0eee61ca678f9a35745ae4d7e16d967c654eb..fe088a95386005798e1fd54adb7a64ccfb08cc78 100644 (file)
@@ -267,11 +267,12 @@ static struct component_match *vimc_add_subdevs(struct vimc_device *vimc)
                                                PLATFORM_DEVID_AUTO,
                                                &pdata,
                                                sizeof(pdata));
-               if (!vimc->subdevs[i]) {
+               if (IS_ERR(vimc->subdevs[i])) {
+                       match = ERR_CAST(vimc->subdevs[i]);
                        while (--i >= 0)
                                platform_device_unregister(vimc->subdevs[i]);
 
-                       return ERR_PTR(-ENOMEM);
+                       return match;
                }
 
                component_match_add(&vimc->pdev.dev, &match, vimc_comp_compare,