staging: unisys: visorbus: visorchipset.c: Fix bug in parser_init_byte_stream.
authorSameer Wadgaonkar <sameer.wadgaonkar@unisys.com>
Wed, 30 Aug 2017 17:36:09 +0000 (13:36 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 31 Aug 2017 16:17:38 +0000 (18:17 +0200)
This patch fixes a bug in the function parser_init_byte_stream()
by removing the call to parser_done from goto err_finish_ctx.
The function parser_done() decrements
chipset_dev->controlvm_payload_bytes_buffered which is not
incremented before this gets called.

Signed-off-by: Sameer Wadgaonkar <sameer.wadgaonkar@unisys.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David Kershner <david.kershner@unisys.com>
Reviewed-by: Tim Sell <timothy.sell@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/unisys/visorbus/visorchipset.c

index 25a30a4b46e4bda981e70bf16659bfaa82d29c6c..e296df78c835647bb7830cf54b6b416fd9fdf116 100644 (file)
@@ -1505,7 +1505,7 @@ static struct parser_context *parser_init_byte_stream(u64 addr, u32 bytes,
        return ctx;
 
 err_finish_ctx:
-       parser_done(ctx);
+       kfree(ctx);
        return NULL;
 }