From 03a3cb46a6c35bbd1a1edbd35476f2cf058ee510 Mon Sep 17 00:00:00 2001 From: Bichao Zheng Date: Thu, 12 Sep 2019 15:17:46 +0800 Subject: [PATCH] irblaster: meson: fix Coverity errors [1/2] PD#SWPL-13973 Problem: irblaster Coverity errors. Solution: 1. Properly release resources. 2. Fix return value type. Verify: test pass on g12a_u200_v1 Change-Id: I50054ba3ac9f02aeeaa005b7823416b1c4c9a196 Signed-off-by: Bichao Zheng --- drivers/amlogic/irblaster/irblaster-nec-encoder.c | 3 ++- drivers/amlogic/irblaster/irblaster-rca-encoder.c | 3 ++- drivers/amlogic/irblaster/sysfs.c | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/amlogic/irblaster/irblaster-nec-encoder.c b/drivers/amlogic/irblaster/irblaster-nec-encoder.c index 107383ff3729..67aaacf1bcb7 100644 --- a/drivers/amlogic/irblaster/irblaster-nec-encoder.c +++ b/drivers/amlogic/irblaster/irblaster-nec-encoder.c @@ -97,7 +97,8 @@ int irblaster_nec_encode(enum irblaster_protocol protocol, unsigned int commmand, unsigned int *data) { - u32 raw, ret; + int ret; + u32 raw; if (protocol >= IRBLASTER_PROTOCOL_MAX) return -ENODEV; diff --git a/drivers/amlogic/irblaster/irblaster-rca-encoder.c b/drivers/amlogic/irblaster/irblaster-rca-encoder.c index 21068b608ca0..e825faf66845 100644 --- a/drivers/amlogic/irblaster/irblaster-rca-encoder.c +++ b/drivers/amlogic/irblaster/irblaster-rca-encoder.c @@ -61,7 +61,8 @@ static u32 irblaster_rca_scancode_to_raw(enum irblaster_protocol protocol, int irblaster_rca_encode(enum irblaster_protocol protocol, unsigned int addr, unsigned int commmand, unsigned int *data) { - u32 raw, ret; + int ret; + u32 raw; /* Convert a RCA scancode to raw rca data */ raw = irblaster_rca_scancode_to_raw(protocol, addr, commmand); diff --git a/drivers/amlogic/irblaster/sysfs.c b/drivers/amlogic/irblaster/sysfs.c index 650be648b476..359d439cfa78 100644 --- a/drivers/amlogic/irblaster/sysfs.c +++ b/drivers/amlogic/irblaster/sysfs.c @@ -47,6 +47,7 @@ static ssize_t send_store(struct device *dev, if (ret) { pr_err("Invalid tone\n"); mutex_unlock(&chip->sys_lock); + kfree(buffer); return ret; } buffer[m] = val * 10;