This commit changes parameter of ramoops_free_przs() from
struct ramoops_context * into struct persistent_ram_zone * in order to
make it available for all prz array.

Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu...@hitachi.com>
Signed-off-by: Hiraku Toyooka <hiraku.toyooka...@hitachi.com>
Cc: Anton Vorontsov <an...@enomsg.org>
Cc: Colin Cross <ccr...@android.com>
Cc: Kees Cook <keesc...@chromium.org>
Cc: Mark Salyzyn <saly...@android.com>
Cc: Seiji Aguchi <seiji.aguchi...@hitachi.com>
Cc: Shuah Khan <shua...@osg.samsung.com>
Cc: Tony Luck <tony.l...@intel.com>

V3:
   - Split patch.
   - Rebase.
---
 fs/pstore/ram.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index 0bef455..691680f 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -392,18 +392,16 @@ static struct ramoops_context oops_cxt = {
        },
 };
 
-static void ramoops_free_przs(struct ramoops_context *cxt)
+static void ramoops_free_przs(struct persistent_ram_zone **przs, int cnt)
 {
        int i;
 
-       if (!cxt->przs)
+       if (!przs)
                return;
 
-       for (i = 0; i < cxt->max_dump_cnt; i++)
-               persistent_ram_free(cxt->przs[i]);
-
-       kfree(cxt->przs);
-       cxt->max_dump_cnt = 0;
+       for (i = 0; i < cnt; i++)
+               persistent_ram_free(przs[i]);
+       kfree(przs);
 }
 
 static int ramoops_init_przs(struct device *dev, struct ramoops_context *cxt,
@@ -684,7 +682,8 @@ static int ramoops_probe(struct platform_device *pdev)
 fail_init_fprz:
        persistent_ram_free(cxt->cprz);
 fail_init_cprz:
-       ramoops_free_przs(cxt);
+       ramoops_free_przs(cxt->przs, cxt->max_dump_cnt);
+       cxt->max_dump_cnt = 0;
 fail_out:
        return err;
 }
@@ -701,7 +700,8 @@ static int ramoops_remove(struct platform_device *pdev)
        persistent_ram_free(cxt->mprz);
        persistent_ram_free(cxt->fprz);
        persistent_ram_free(cxt->cprz);
-       ramoops_free_przs(cxt);
+       ramoops_free_przs(cxt->przs, cxt->max_dump_cnt);
+       cxt->max_dump_cnt = 0;
 
        return 0;
 }
-- 
2.9.3


Reply via email to