summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan Carpenter2016-10-14 02:32:24 -0500
committerGreg Kroah-Hartman2017-01-26 01:24:45 -0600
commitdfe8e5730fa1a91129c65dacf85783fa796d7e0a (patch)
treeb900ed3f8d5bee1c02fa282e22beba373310b138
parentb9dc16170dbf5385a273019175c0576d3224cd36 (diff)
downloadkernel-omap-dfe8e5730fa1a91129c65dacf85783fa796d7e0a.tar.gz
kernel-omap-dfe8e5730fa1a91129c65dacf85783fa796d7e0a.tar.xz
kernel-omap-dfe8e5730fa1a91129c65dacf85783fa796d7e0a.zip
st-hva: fix some error handling in hva_hw_probe()
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>
-rw-r--r--drivers/media/platform/sti/hva/hva-hw.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/media/platform/sti/hva/hva-hw.c b/drivers/media/platform/sti/hva/hva-hw.c
index d341d4994528..cf2a8d884536 100644
--- a/drivers/media/platform/sti/hva/hva-hw.c
+++ b/drivers/media/platform/sti/hva/hva-hw.c
@@ -305,16 +305,16 @@ int hva_hw_probe(struct platform_device *pdev, struct hva_dev *hva)
305 /* get memory for registers */ 305 /* get memory for registers */
306 regs = platform_get_resource(pdev, IORESOURCE_MEM, 0); 306 regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
307 hva->regs = devm_ioremap_resource(dev, regs); 307 hva->regs = devm_ioremap_resource(dev, regs);
308 if (IS_ERR_OR_NULL(hva->regs)) { 308 if (IS_ERR(hva->regs)) {
309 dev_err(dev, "%s failed to get regs\n", HVA_PREFIX); 309 dev_err(dev, "%s failed to get regs\n", HVA_PREFIX);
310 return PTR_ERR(hva->regs); 310 return PTR_ERR(hva->regs);
311 } 311 }
312 312
313 /* get memory for esram */ 313 /* get memory for esram */
314 esram = platform_get_resource(pdev, IORESOURCE_MEM, 1); 314 esram = platform_get_resource(pdev, IORESOURCE_MEM, 1);
315 if (IS_ERR_OR_NULL(esram)) { 315 if (!esram) {
316 dev_err(dev, "%s failed to get esram\n", HVA_PREFIX); 316 dev_err(dev, "%s failed to get esram\n", HVA_PREFIX);
317 return PTR_ERR(esram); 317 return -ENODEV;
318 } 318 }
319 hva->esram_addr = esram->start; 319 hva->esram_addr = esram->start;
320 hva->esram_size = resource_size(esram); 320 hva->esram_size = resource_size(esram);