From 3ce3f0f861b786350d7a4f1c3fe4b12f925fa7d4 Mon Sep 17 00:00:00 2001
From: Ankur Bansal <ankban@codeaurora.org>
Date: Wed, 14 Mar 2018 12:57:46 +0530
Subject: [PATCH] lrdp_v2 : Fix for broken memstat.py

Fix for broken memstat.py, add check for mempool and stat_val
if mempool and stat_val is None then return 0

Change-Id: I71323a49d733d2ddc198ad9b6c44f629edfb619d
---
 linux-ramdump-parser-v2/parsers/memstat.py | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/linux-ramdump-parser-v2/parsers/memstat.py b/linux-ramdump-parser-v2/parsers/memstat.py
index f048f35..d9cec38 100644
--- a/linux-ramdump-parser-v2/parsers/memstat.py
+++ b/linux-ramdump-parser-v2/parsers/memstat.py
@@ -178,11 +178,16 @@ class MemStats(RamParser):
             mem_pool = zram_meta + self.ramdump.field_offset\
                                         ('struct zram_meta','mem_pool')
             mem_pool = self.ramdump.read_word(mem_pool)
-            page_allocated = mem_pool + self.ramdump.field_offset\
-                                        ('struct zs_pool','pages_allocated')
-            stat_val = self.ramdump.read_u64(page_allocated)
-            stat_val = self.pages_to_mb(stat_val)
-        else :
+            if mem_pool is None:
+                stat_val = 0
+            else:
+                page_allocated = mem_pool + self.ramdump.field_offset(
+                                'struct zs_pool', 'pages_allocated')
+                stat_val = self.ramdump.read_u64(page_allocated)
+                if stat_val is None:
+                    stat_val = 0
+                stat_val = self.pages_to_mb(stat_val)
+        else:
             zram_devices_word = self.ramdump.read_word('zram_devices')
             if zram_devices_word is not None:
                 zram_devices_stat_offset = self.ramdump.field_offset(
-- 
GitLab