diff --git a/common/types/src/SharedMemoryAndroid.cpp b/common/types/src/SharedMemoryAndroid.cpp
index c361a1eb6..3c09c5f4d 100644
--- a/common/types/src/SharedMemoryAndroid.cpp
+++ b/common/types/src/SharedMemoryAndroid.cpp
@@ -115,8 +115,23 @@ GeneralResult<SharedMemory> allocateSharedMemory(size_t size) {
     return createSharedMemoryFromUniqueFd(size, prot, std::move(fd), offset);
 }
 
-GeneralResult<Mapping> map(const Memory::Ashmem& /*memory*/) {
-    return NN_ERROR(ErrorStatus::INVALID_ARGUMENT) << "Cannot map ashmem memory";
+//GeneralResult<Mapping> map(const Memory::Ashmem& /*memory*/) {
+//    return NN_ERROR(ErrorStatus::INVALID_ARGUMENT) << "Cannot map ashmem memory";
+//}
+
+GeneralResult<Mapping> map(const Memory::Ashmem& memory) {
+    constexpr off64_t offset = 0;
+    constexpr int prot = PROT_READ | PROT_WRITE;
+    std::shared_ptr<base::MappedFile> mapping =
+            base::MappedFile::FromFd(memory.fd, offset, memory.size, prot);
+    if (mapping == nullptr || mapping->data() == nullptr) {
+        return NN_ERROR() << "Can't mmap the file descriptor.";
+    }
+    return Mapping{
+            .pointer = mapping->data(),
+            .size = memory.size,
+            .context = std::move(mapping),
+    };
 }
 
 #endif  // NN_COMPATIBILITY_LIBRARY_BUILD
diff --git a/runtime/NeuralNetworks.cpp b/runtime/NeuralNetworks.cpp
index 678888e9f..805a600bb 100644
--- a/runtime/NeuralNetworks.cpp
+++ b/runtime/NeuralNetworks.cpp
@@ -1927,7 +1927,7 @@ int SL_ANeuralNetworksDevice_forEachVendorExtensionOperandTypeInformation(
 #define NNCL_FUNC(symbol) .symbol = symbol
 
 NnApiSLDriverImplFL7 slDriverImpl{
-        .base{.implFeatureLevel = ANEURALNETWORKS_FEATURE_LEVEL_7},
+        .base={.implFeatureLevel = ANEURALNETWORKS_FEATURE_LEVEL_7},
         NNCL_FUNC(ANeuralNetworksBurst_create),
         NNCL_FUNC(ANeuralNetworksBurst_free),
         NNCL_FUNC(ANeuralNetworksCompilation_createForDevices),
