st-hva: fix some error handling in hva_hw_probe()
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 14 Oct 2016 07:32:24 +0000 (04:32 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Jan 2017 07:24:45 +0000 (08:24 +0100)
commit 6b2bed891253c08e7f4c17dbd46b71fc87f22eef upstream.

The devm_ioremap_resource() returns error pointers, never NULL.  The
platform_get_resource() returns NULL on error, never error pointers.
The error code needs to be set, as well.  The current code returns
PTR_ERR(NULL) which is success.

Fixes: 57b2c0628b60 ("[media] st-hva: multi-format video encoder V4L2 driver")

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Jean-Christophe Trotin <jean-christophe.trotin@st.com>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/platform/sti/hva/hva-hw.c

index d341d49..cf2a8d8 100644 (file)
@@ -305,16 +305,16 @@ int hva_hw_probe(struct platform_device *pdev, struct hva_dev *hva)
        /* get memory for registers */
        regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        hva->regs = devm_ioremap_resource(dev, regs);
-       if (IS_ERR_OR_NULL(hva->regs)) {
+       if (IS_ERR(hva->regs)) {
                dev_err(dev, "%s     failed to get regs\n", HVA_PREFIX);
                return PTR_ERR(hva->regs);
        }
 
        /* get memory for esram */
        esram = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-       if (IS_ERR_OR_NULL(esram)) {
+       if (!esram) {
                dev_err(dev, "%s     failed to get esram\n", HVA_PREFIX);
-               return PTR_ERR(esram);
+               return -ENODEV;
        }
        hva->esram_addr = esram->start;
        hva->esram_size = resource_size(esram);