diff --git a/libexynosgraphicbuffer/gralloc3/exynos_graphicbuffer_mapper.cpp b/libexynosgraphicbuffer/gralloc3/exynos_graphicbuffer_mapper.cpp
index 9ae7e0b..6f7fe37 100644
--- a/libexynosgraphicbuffer/gralloc3/exynos_graphicbuffer_mapper.cpp
+++ b/libexynosgraphicbuffer/gralloc3/exynos_graphicbuffer_mapper.cpp
@@ -21,8 +21,8 @@
 using namespace vendor::graphics;
 
 status_t ExynosGraphicBufferMapper::lock64(buffer_handle_t handle, uint64_t usage, const Rect &bounds, void **vaddr,
-                                           int32_t *outBytesPerPixel, int32_t *outBytesPerStride) {
-    return lockAsync(handle, usage, usage, bounds, vaddr, -1, outBytesPerPixel, outBytesPerStride);
+                                           int32_t* /*outBytesPerPixel*/, int32_t* /*outBytesPerStride*/) {
+    return lockAsync(handle, usage, usage, bounds, vaddr, -1);
 }
 
 status_t ExynosGraphicBufferMapper::lockYCbCr64(buffer_handle_t handle, uint64_t usage, const Rect &bounds,
diff --git a/libexynosgraphicbuffer/gralloc4/exynos_graphicbuffer_mapper.cpp b/libexynosgraphicbuffer/gralloc4/exynos_graphicbuffer_mapper.cpp
index ffbbf08..d5b6fa1 100644
--- a/libexynosgraphicbuffer/gralloc4/exynos_graphicbuffer_mapper.cpp
+++ b/libexynosgraphicbuffer/gralloc4/exynos_graphicbuffer_mapper.cpp
@@ -27,7 +27,7 @@
 
 status_t ExynosGraphicBufferMapper::lock64(buffer_handle_t handle, uint64_t usage, const Rect &bounds, void **vaddr,
                                            int32_t *outBytesPerPixel, int32_t *outBytesPerStride) {
-    return lockAsync(handle, usage, usage, bounds, vaddr, -1, outBytesPerPixel, outBytesPerStride);
+    return lockAsync(handle, usage, usage, bounds, vaddr, -1);
 }
 
 status_t ExynosGraphicBufferMapper::lockYCbCr64(buffer_handle_t handle, uint64_t usage, const Rect &bounds,
diff --git a/libexynosgraphicbuffer/sgr/exynos_graphicbuffer_mapper.cpp b/libexynosgraphicbuffer/sgr/exynos_graphicbuffer_mapper.cpp
index a0fdeb5..4f7f96f 100644
--- a/libexynosgraphicbuffer/sgr/exynos_graphicbuffer_mapper.cpp
+++ b/libexynosgraphicbuffer/sgr/exynos_graphicbuffer_mapper.cpp
@@ -26,7 +26,7 @@
 
 status_t ExynosGraphicBufferMapper::lock64(buffer_handle_t handle, uint64_t usage, const Rect &bounds, void **vaddr,
                                            int32_t *outBytesPerPixel, int32_t *outBytesPerStride) {
-    return lockAsync(handle, usage, usage, bounds, vaddr, -1, outBytesPerPixel, outBytesPerStride);
+    return lockAsync(handle, usage, usage, bounds, vaddr, -1);
 }
 
 status_t ExynosGraphicBufferMapper::lockYCbCr64(buffer_handle_t handle, uint64_t usage, const Rect &bounds,
