diff --git a/hipamd/src/hip_memory.cpp b/hipamd/src/hip_memory.cpp index b96ca334df..68966abaf1 100644 --- a/hipamd/src/hip_memory.cpp +++ b/hipamd/src/hip_memory.cpp @@ -1589,7 +1589,7 @@ hipError_t ihipMemset(void* dst, int value, size_t sizeBytes, hipStream_t strea return e; }; -hipError_t getLockedPointer(const void *hostPtr, size_t dataLen, void **devicePtrPtr) +hipError_t getLockedPointer(void *hostPtr, size_t dataLen, void **devicePtrPtr) { hc::accelerator acc; @@ -1600,7 +1600,8 @@ hipError_t getLockedPointer(const void *hostPtr, size_t dataLen, void **devicePt #endif am_status_t status = hc::am_memtracker_getinfo(&amPointerInfo, hostPtr); if (status == AM_SUCCESS) { - *devicePtrPtr = (char*)amPointerInfo._devicePointer; + *devicePtrPtr = static_cast(amPointerInfo._devicePointer) + + (static_cast(hostPtr) - static_cast(amPointerInfo._hostPointer)); return(hipSuccess); }; return(hipErrorHostMemoryNotRegistered);