aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-bsp/imx-vpu/imx-vpu/0001-IOGetVirtMem-returns-1-MAP_FAILED-on-failure.patch
blob: 348a5360d71bb607f9240c31d589d56647d1c3da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
From 3f3e374391ddc5e605f604e5bcdf95e29b1bcc39 Mon Sep 17 00:00:00 2001
From: Eric Nelson <eric.nelson@boundarydevices.com>
Date: Fri, 20 Jun 2014 19:42:38 -0700
Subject: [PATCH] IOGetVirtMem returns -1 (MAP_FAILED) on failure

Upstream-Status: Pending

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
---
 vpu/vpu_io.c  | 2 +-
 vpu/vpu_io.h  | 2 ++
 vpu/vpu_lib.c | 8 ++++----
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/vpu/vpu_io.c b/vpu/vpu_io.c
index 8cbb571..14759da 100644
--- a/vpu/vpu_io.c
+++ b/vpu/vpu_io.c
@@ -265,7 +265,7 @@ int IOSystemInit(void *callback)
 		goto err;
 	}
 
-	if (IOGetVirtMem(&bit_work_addr) <= 0)
+	if (IOGetVirtMem(&bit_work_addr) == -1)
 		goto err;
 #endif
 	UnlockVpu(vpu_semap);
diff --git a/vpu/vpu_io.h b/vpu/vpu_io.h
index 392e04a..1e6340d 100644
--- a/vpu/vpu_io.h
+++ b/vpu/vpu_io.h
@@ -64,6 +64,8 @@ int IOSystemInit(void *callback);
 int IOSystemShutdown(void);
 int IOGetPhyMem(vpu_mem_desc * buff);
 int IOFreePhyMem(vpu_mem_desc * buff);
+
+/* returns -1 ((int)MAP_FAILED) on failure */
 int IOGetVirtMem(vpu_mem_desc * buff);
 int IOFreeVirtMem(vpu_mem_desc * buff);
 int IOGetVShareMem(int size);
diff --git a/vpu/vpu_lib.c b/vpu/vpu_lib.c
index 1fb731b..7a7f42d 100644
--- a/vpu/vpu_lib.c
+++ b/vpu/vpu_lib.c
@@ -1764,7 +1764,7 @@ RetCode vpu_EncStartOneFrame(EncHandle handle, EncParam * param)
 				err_msg("Unable to obtain physical mem\n");
 				return RETCODE_FAILURE;
 			}
-			if (IOGetVirtMem(&pEncInfo->picParaBaseMem) <= 0) {
+			if (IOGetVirtMem(&pEncInfo->picParaBaseMem) == -1) {
 				IOFreePhyMem(&pEncInfo->picParaBaseMem);
 				pEncInfo->picParaBaseMem.phy_addr = 0;
 				err_msg("Unable to obtain virtual mem\n");
@@ -2982,7 +2982,7 @@ RetCode vpu_DecGetInitialInfo(DecHandle handle, DecInitialInfo * info)
 			UnlockVpu(vpu_semap);
 			return RETCODE_FAILURE;
 		}
-		if (IOGetVirtMem(&pDecInfo->userDataBufMem) <= 0) {
+		if (IOGetVirtMem(&pDecInfo->userDataBufMem) == -1) {
 			IOFreePhyMem(&pDecInfo->userDataBufMem);
 			pDecInfo->userDataBufMem.phy_addr = 0;
 			err_msg("Unable to obtain virtual mem\n");
@@ -4017,7 +4017,7 @@ RetCode vpu_DecStartOneFrame(DecHandle handle, DecParam * param)
 				UnlockVpu(vpu_semap);
 				return RETCODE_FAILURE;
 			}
-			if (IOGetVirtMem(&pDecInfo->picParaBaseMem) <= 0) {
+			if (IOGetVirtMem(&pDecInfo->picParaBaseMem) == -1) {
 				IOFreePhyMem(&pDecInfo->picParaBaseMem);
 				pDecInfo->picParaBaseMem.phy_addr = 0;
 				err_msg("Unable to obtain virtual mem\n");
@@ -4057,7 +4057,7 @@ RetCode vpu_DecStartOneFrame(DecHandle handle, DecParam * param)
 			UnlockVpu(vpu_semap);
 			return RETCODE_FAILURE;
 		}
-		if (IOGetVirtMem(&pDecInfo->userDataBufMem) <= 0) {
+		if (IOGetVirtMem(&pDecInfo->userDataBufMem) == -1) {
 			IOFreePhyMem(&pDecInfo->userDataBufMem);
 			pDecInfo->userDataBufMem.phy_addr = 0;
 			err_msg("Unable to obtain virtual mem\n");
-- 
1.9.1