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 <gust...@embeddedor.com>
---
 drivers/usb/typec/ucsi/ucsi_ccg.c | 6 ++++--
 1 file 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)
 
 not_signed_fw:
        wr_buf = kzalloc(CCG4_ROW_SIZE + 4, GFP_KERNEL);
-       if (!wr_buf)
-               return -ENOMEM;
+       if (!wr_buf) {
+               err = -ENOMEM;
+               goto release_fw;
+       }
 
        err = ccg_cmd_enter_flashing(uc);
        if (err)
-- 
2.21.0

Reply via email to