i2c: i2c-msm-geni: Report NACK as an error to client

if there is a NACK from i2c slave side on the bus while doing i2c
transfer, report it as an error. So far NACK reproted at i2c master
just as an error and if master is done with the command to GENI, it
considered as a success. Ideally the NACK or ACK is part of protocol,
here we are returning NACK as an error for the client to take some
respective action.

Change-Id: I084f8f733310f7a10f2d53f34d9c99f6c5234406
Signed-off-by: Mukesh Kumar Savaliya <quic_msavaliy@quicinc.com>
This commit is contained in:
Mukesh Kumar Savaliya 2022-03-01 13:33:19 +05:30
commit f811f2e80e

View file

@ -1235,11 +1235,15 @@ geni_i2c_txn_ret:
pm_runtime_mark_last_busy(gi2c->dev);
pm_runtime_put_autosuspend(gi2c->dev);
}
gi2c->cur = NULL;
gi2c->err = 0;
GENI_SE_DBG(gi2c->ipcl, false, gi2c->dev,
"i2c txn ret:%d\n", ret);
return ret;
GENI_SE_ERR(gi2c->ipcl, true, gi2c->dev,
"i2c txn ret:%d, num:%d, err%:%d\n", ret, num, gi2c->err);
if (gi2c->err)
return gi2c->err;
else
return ret;
}
static u32 geni_i2c_func(struct i2c_adapter *adap)