Add the missing unlock before return from function ccg_cmd_write_flash_row()
in the error handling case.

Fixes: 5c9ae5a87573 ("usb: typec: ucsi: ccg: add firmware flashing support")
Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 drivers/usb/typec/ucsi/ucsi_ccg.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/usb/typec/ucsi/ucsi_ccg.c 
b/drivers/usb/typec/ucsi/ucsi_ccg.c
index 4632b91a04a6..9d46aa9e4e35 100644
--- a/drivers/usb/typec/ucsi/ucsi_ccg.c
+++ b/drivers/usb/typec/ucsi/ucsi_ccg.c
@@ -631,6 +631,7 @@ ccg_cmd_write_flash_row(struct ucsi_ccg *uc, u16 row,
        ret = i2c_master_send(client, buf, CCG4_ROW_SIZE + 2);
        if (ret != CCG4_ROW_SIZE + 2) {
                dev_err(uc->dev, "REG_FLASH_RW_MEM write fail %d\n", ret);
+               mutex_unlock(&uc->lock);
                return ret < 0 ? ret : -EIO;
        }



Reply via email to