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 <weiyongj...@huawei.com>
---
 drivers/media/platform/vimc/vimc-core.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/vimc/vimc-core.c 
b/drivers/media/platform/vimc/vimc-core.c
index 51c0eee..fe088a9 100644
--- a/drivers/media/platform/vimc/vimc-core.c
+++ b/drivers/media/platform/vimc/vimc-core.c
@@ -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,



Reply via email to