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
|