Thread (6 messages) flat view 6 messages, 2 authors, 2016-05-06

[PATCH 2/2] drivers: i2c: qup: Fix error handling

From: Andy Gross <hidden>
Date: 2016-05-05 17:22:24
Also in: linux-arm-msm, linux-devicetree, linux-i2c, lkml

On Mon, May 02, 2016 at 10:53:57AM +0530, Sricharan R wrote:
Among the bus errors reported from the QUP_MASTER_STATUS register
only NACK is considered and transfer gets suspended, while
other errors are ignored. Correct this and suspend the transfer
for other errors as well. This avoids unnessecary 'timeouts' which
happens when waiting for events that would never happen when there
is already an error condition on the bus.

Signed-off-by: Sricharan R <redacted>
---
 drivers/i2c/busses/i2c-qup.c | 34 +++++++++++++++++++++++++---------
 1 file changed, 25 insertions(+), 9 deletions(-)
Reviewed-by: Andy Gross <redacted>

<snip>
quoted hunk ↗ jump to hunk
@@ -1227,6 +1240,9 @@ static int qup_i2c_xfer_v2(struct i2c_adapter *adap,
 	struct qup_i2c_dev *qup = i2c_get_adapdata(adap);
 	int ret, len, idx = 0, use_dma = 0;
 
+	qup->bus_err = 0;
+	qup->qup_err = 0;
+
What about the initial setting of these?  Does this need to be removed from the
main xfer function?
 	ret = pm_runtime_get_sync(qup->dev);
 	if (ret < 0)
 		goto out;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help