Fix to pass right translation param to IPC.
authorSaurabh Bipin Chandra <a0131926@ti.com>
Thu, 23 May 2013 06:55:26 +0000 (12:25 +0530)
committerSaurabh Bipin Chandra <a0131926@ti.com>
Thu, 23 May 2013 10:37:38 +0000 (16:07 +0530)
The base field of the MmRpc_Xlt translation structure
needs to be value of the address to be translated.
The code was wrongly setting base to the location of
the address. This has been corrected. This didn't create
issues because the IPC doesnot use the base field for
address translation. IPC uses offset to find the
address to be translated.

Change-Id: I404c7dc61cf3f4b5b584008b13336441420149d8
Signed-off-by: Saurabh Bipin Chandra <a0131926@ti.com>
libdce.c

index 6808f002ebeaa17853abe3b3d63f98c26cdacb66..4e18039d6d2ac127de9a8cf3bfb2101c2f6d4cfe 100644 (file)
--- a/libdce.c
+++ b/libdce.c
@@ -144,7 +144,7 @@ static inline void Fill_MmRpc_fxnCtx_Xlt_Array(MmRpc_Xlt *mmrpc_xlt, int index,
     /* offset : calculated from address of index                                                                                      */
     mmrpc_xlt->index = index;
     mmrpc_xlt->offset = MmRpc_OFFSET(base, addr);
-    mmrpc_xlt->base = (size_t)addr;
+    mmrpc_xlt->base = *(size_t *)addr; //*((void *)addr);
     mmrpc_xlt->handle = (size_t)handle;
 }