From 712c03dcab8ee2ff82b280a517ba4f0adc9a54b5 Mon Sep 17 00:00:00 2001 From: Jes Sorensen Date: Tue, 5 May 2015 18:36:25 -0400 Subject: [PATCH] staging: unisys: visorchipset: parser_init_guts(): Localize memregion usage Signed-off-by: Jes Sorensen Signed-off-by: Benjamin Romer Signed-off-by: Greg Kroah-Hartman --- drivers/staging/unisys/visorbus/visorchipset.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/staging/unisys/visorbus/visorchipset.c b/drivers/staging/unisys/visorbus/visorchipset.c index 5bf8266f0663..2be8514d7b18 100644 --- a/drivers/staging/unisys/visorbus/visorchipset.c +++ b/drivers/staging/unisys/visorbus/visorchipset.c @@ -399,6 +399,7 @@ parser_init_guts(u64 addr, u32 bytes, bool local, struct parser_context *ctx = NULL; struct memregion *rgn = NULL; struct spar_controlvm_parameters_header *phdr = NULL; + int cnt; if (retry) *retry = false; @@ -442,7 +443,10 @@ parser_init_guts(u64 addr, u32 bytes, bool local, rc = NULL; goto cleanup; } - if (visor_memregion_read(rgn, 0, ctx->data, bytes) < 0) { + cnt = visor_memregion_read(rgn, 0, ctx->data, bytes); + visor_memregion_destroy(rgn); + + if (cnt < 0) { rc = NULL; goto cleanup; } @@ -469,10 +473,6 @@ parser_init_guts(u64 addr, u32 bytes, bool local, rc = ctx; cleanup: - if (rgn) { - visor_memregion_destroy(rgn); - rgn = NULL; - } if (rc) { controlvm_payload_bytes_buffered += ctx->param_bytes; } else { -- 2.30.2