summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorGustavo A. R. Silva <gustavo@embeddedor.com>2019-05-27 14:10:50 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-06-03 08:24:57 -0400
commit2649939ad750db48f94d3cdab26e3a0115672e6b (patch)
tree5a4b87456663b65e09f9af8e8d5da40f33141504 /drivers/usb
parentf2c7c76c5d0a443053e94adb9f0918fa2fb85c3a (diff)
usb: typec: ucsi: ccg: fix memory leak in do_flash
In case memory resources for *fw* were successfully allocated, release them before return. Addresses-Coverity-ID: 1445499 ("Resource leak") Fixes: 5c9ae5a87573 ("usb: typec: ucsi: ccg: add firmware flashing support") Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/typec/ucsi/ucsi_ccg.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c b/drivers/usb/typec/ucsi/ucsi_ccg.c
index 9d46aa9e4e35..bf63074675fc 100644
--- a/drivers/usb/typec/ucsi/ucsi_ccg.c
+++ b/drivers/usb/typec/ucsi/ucsi_ccg.c
@@ -862,8 +862,10 @@ static int do_flash(struct ucsi_ccg *uc, enum enum_flash_mode mode)
862 862
863not_signed_fw: 863not_signed_fw:
864 wr_buf = kzalloc(CCG4_ROW_SIZE + 4, GFP_KERNEL); 864 wr_buf = kzalloc(CCG4_ROW_SIZE + 4, GFP_KERNEL);
865 if (!wr_buf) 865 if (!wr_buf) {
866 return -ENOMEM; 866 err = -ENOMEM;
867 goto release_fw;
868 }
867 869
868 err = ccg_cmd_enter_flashing(uc); 870 err = ccg_cmd_enter_flashing(uc);
869 if (err) 871 if (err)