Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3cf357df authored by Pramod Gurav's avatar Pramod Gurav Committed by Wolfram Sang
Browse files

i2c: qup: disable clks and return instead of just returning error



This fixes a error handling scenario where clocks were not being disabled
when QUP_OUTPUT_BLOCK_SIZE returns a size greater than the size of blk_sizes
array. So this patch adds a statement to jump to the fail lable to release the
clocks.

Signed-off-by: default avatarPramod Gurav <pramod.gurav@smartplayin.com>
Acked-by: default avatarIvan T. Ivanov <iivanov@mm-sol.com>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent 741d3589
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -633,13 +633,17 @@ static int qup_i2c_probe(struct platform_device *pdev)
	 * associated with each byte written/received
	 */
	size = QUP_OUTPUT_BLOCK_SIZE(io_mode);
	if (size >= ARRAY_SIZE(blk_sizes))
		return -EIO;
	if (size >= ARRAY_SIZE(blk_sizes)) {
		ret = -EIO;
		goto fail;
	}
	qup->out_blk_sz = blk_sizes[size] / 2;

	size = QUP_INPUT_BLOCK_SIZE(io_mode);
	if (size >= ARRAY_SIZE(blk_sizes))
		return -EIO;
	if (size >= ARRAY_SIZE(blk_sizes)) {
		ret = -EIO;
		goto fail;
	}
	qup->in_blk_sz = blk_sizes[size] / 2;

	size = QUP_OUTPUT_FIFO_SIZE(io_mode);