lkml.org 
[lkml]   [2016]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/2] drivers: i2c: qup: Fix error handling
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 <sricharan@codeaurora.org>
> ---
> drivers/i2c/busses/i2c-qup.c | 34 +++++++++++++++++++++++++---------
> 1 file changed, 25 insertions(+), 9 deletions(-)

Reviewed-by: Andy Gross <andy.gross@linaro.org>

<snip>

> @@ -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;

\
 
 \ /
  Last update: 2016-05-05 19:41    [W:0.109 / U:0.844 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site