[PATCH] i2c: qcom-geni: Fix return value for master_xfer

From: jorcrous
Date: Wed Feb 09 2022 - 16:04:15 EST


From: Jordan Crouse <jorcrous@xxxxxxxxxx>

The master_xfer function is supposed to return the number of messages that
were processed. Both geni_i2c_gpi_xfer and geni_i2c_fifo_xfer are
returning 0 which is being interpeted as a error in the upper layers.

Fixes: 8133682618cb ("i2c: qcom-geni: Add support for GPI DMA")
Signed-off-by: Jordan Crouse <jorcrous@xxxxxxxxxx>
---

drivers/i2c/busses/i2c-qcom-geni.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c
index c5345f3421a8..e008161e1a67 100644
--- a/drivers/i2c/busses/i2c-qcom-geni.c
+++ b/drivers/i2c/busses/i2c-qcom-geni.c
@@ -619,7 +619,7 @@ static int geni_i2c_gpi_xfer(struct geni_i2c_dev *gi2c, struct i2c_msg msgs[], i
geni_i2c_gpi_unmap(gi2c, &msgs[i], tx_buf, tx_addr, rx_buf, rx_addr);
}

- return 0;
+ return num;

err:
dmaengine_terminate_sync(gi2c->rx_c);
@@ -645,10 +645,10 @@ static int geni_i2c_fifo_xfer(struct geni_i2c_dev *gi2c,
ret = geni_i2c_tx_one_msg(gi2c, &msgs[i], m_param);

if (ret)
- break;
+ return ret;
}

- return ret;
+ return num;
}

static int geni_i2c_xfer(struct i2c_adapter *adap,
--
2.32.0