diff options
author | Dan Carpenter | 2016-10-14 02:32:24 -0500 |
---|---|---|
committer | Greg Kroah-Hartman | 2017-01-26 01:24:45 -0600 |
commit | dfe8e5730fa1a91129c65dacf85783fa796d7e0a (patch) | |
tree | b900ed3f8d5bee1c02fa282e22beba373310b138 | |
parent | b9dc16170dbf5385a273019175c0576d3224cd36 (diff) | |
download | kernel-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.c | 6 |
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); |