usb: typec: ucsi: ccg: fix missing unlock on error in ccg_cmd_write_flash_row()
authorWei Yongjun <weiyongjun1@huawei.com>
Mon, 29 Apr 2019 12:26:30 +0000 (12:26 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 29 Apr 2019 12:25:12 +0000 (14:25 +0200)
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 <weiyongjun1@huawei.com>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/ucsi/ucsi_ccg.c

index 4632b91..9d46aa9 100644 (file)
@@ -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;
        }