[SegmentTable] Bug fix when restoring the segment table
authorDongju Chae <dongju.chae@samsung.com>
Thu, 24 Jun 2021 05:00:17 +0000 (14:00 +0900)
committer채동주/On-Device Lab(SR)/Staff Engineer/삼성전자 <dongju.chae@samsung.com>
Thu, 24 Jun 2021 06:34:51 +0000 (15:34 +0900)
This patch fixes the bug when restoring segment table for re-use.

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

index e5569bb..588506d 100644 (file)
@@ -329,26 +329,10 @@ int
 SegmentTable::restoreSegments () {
   HWmem *hwmem;
 
-  hwmem = getWeightSegment ();
-  if (hwmem != nullptr)
-    updateSegmentSlot (hwmem, weight_seg_idx_[0]);
-
-  for (uint32_t i = 0; i < num_input_segments_; i++) {
-    hwmem = getInputSegment (i);
-    if (hwmem == nullptr) {
-      logerr (TAG, "Unable to find %u-th input segment\n", i);
-      return -EINVAL;
-    }
-    updateSegmentSlot (hwmem, input_seg_idx_[i]);
-  }
-
-  for (uint32_t i = 0; i < num_output_segments_; i++) {
-    hwmem = getOutputSegment (i);
-    if (hwmem == nullptr) {
-      logerr (TAG, "Unable to find %u-th output segment\n", i);
-      return -EINVAL;
-    }
-    updateSegmentSlot (hwmem, output_seg_idx_[i]);
+  for (uint32_t idx = 0; idx < segments_.size (); idx++) {
+    hwmem = segments_[idx].get ();
+    if (hwmem != nullptr)
+      updateSegmentSlot (hwmem, idx);
   }
 
   return 0;