libfslvpuwrap: fix tests of return value from IOGetVirtMem
authorGary Bisson <bisson.gary@gmail.com>
Fri, 25 Jul 2014 06:43:13 +0000 (23:43 -0700)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 26 Jul 2014 07:32:15 +0000 (09:32 +0200)
Same as similar patches for imx-vpu, the returned value from
IOGetVirtMem was not properly checked.

[Thomas: add upstream reference to the patch, suggested by Yann
E. Morin.]

Signed-off-by: Gary Bisson <bisson.gary@gmail.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/libfslvpuwrap/libfslvpuwrap-0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch [new file with mode: 0644]

diff --git a/package/libfslvpuwrap/libfslvpuwrap-0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch b/package/libfslvpuwrap/libfslvpuwrap-0001-vpu_wrapper-fix-tests-of-return-value-from-IOGetVirt.patch
new file mode 100644 (file)
index 0000000..3927430
--- /dev/null
@@ -0,0 +1,44 @@
+From 7ca66c10c05168c7d342df7c7a70d4a1ae0629f7 Mon Sep 17 00:00:00 2001
+From: Eric Nelson <eric.nelson@boundarydevices.com>
+Date: Sat, 28 Jun 2014 09:45:09 -0700
+Subject: [PATCH] vpu_wrapper: fix tests of return value from IOGetVirtMem
+
+IOGetVirtMem() returns a pointer or specifically -1 (MAP_FAILED)
+in the case of failure.
+
+This problem is being discussed upstream at
+https://lists.yoctoproject.org/pipermail/meta-freescale/2014-June/008993.html.
+
+Upstream-Status: Pending
+
+Signed-off-by: Laci Tele <laci@boundarydevices.com>
+Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
+---
+ vpu_wrapper.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/vpu_wrapper.c b/vpu_wrapper.c
+index 9249174..148c5df 100755
+--- a/vpu_wrapper.c
++++ b/vpu_wrapper.c
+@@ -6653,7 +6653,7 @@ VpuDecRetCode VPU_DecGetMem(VpuMemDesc* pInOutMem)
+               return VPU_DEC_RET_FAILURE;
+       }
+       ret=IOGetVirtMem(&buff);
+-      if(ret==0) //if(ret!=RETCODE_SUCCESS)
++      if(ret == -1) //if(ret==MAP_FAILED)
+       {
+               VPU_ERROR("%s: get virtual memory failure: size=%d, ret=%d \r\n",__FUNCTION__,buff.size,ret);
+               return VPU_DEC_RET_FAILURE;
+@@ -8277,7 +8277,7 @@ VpuEncRetCode VPU_EncGetMem(VpuMemDesc* pInOutMem)
+               return VPU_ENC_RET_FAILURE;
+       }
+       ret=IOGetVirtMem(&buff);
+-      if(ret==0) //if(ret!=RETCODE_SUCCESS)
++      if(ret == -1) //if(ret==MAP_FAILED)
+       {
+               VPU_ENC_ERROR("%s: get virtual memory failure: size=%d, ret=%d \r\n",__FUNCTION__,buff.size,(UINT32)ret);
+               return VPU_ENC_RET_FAILURE;
+-- 
+1.9.1
+