[FIX/DMABUF] Fix external segments handling
authorDongju Chae <dongju.chae@samsung.com>
Thu, 20 Aug 2020 02:00:04 +0000 (11:00 +0900)
committer채동주/On-Device Lab(SR)/Staff Engineer/삼성전자 <dongju.chae@samsung.com>
Thu, 20 Aug 2020 03:34:55 +0000 (12:34 +0900)
This patch fixes external segments handling.
It was creating only one external segment.

Signed-off-by: Dongju Chae <dongju.chae@samsung.com>
src/core/ne-segment-table.cc

index 82dd073..dcb47ff 100644 (file)
@@ -184,8 +184,10 @@ SegmentTable::createExternalInputSegments (const Model *model,
       uint32_t offset = meta->getInputSegmentOffset (i);
       uint32_t size = meta->getSegmentSize (idx);
 
-      return createExternalSegment (idx, size, offset,
+      int status = createExternalSegment (idx, size, offset,
           input->bufs[i].dmabuf);
+      if (status != 0)
+        return status;
     }
   }
 
@@ -208,8 +210,10 @@ SegmentTable::createExternalOutputSegments (const Model *model,
       uint32_t offset = meta->getOutputSegmentOffset (i);
       uint32_t size = meta->getSegmentSize (idx);
 
-      return createExternalSegment (idx, size, offset,
+      int status = createExternalSegment (idx, size, offset,
           output->bufs[i].dmabuf);
+      if (status != 0)
+        return status;
     }
   }