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

Commit f811f2e8 authored by Mukesh Kumar Savaliya's avatar Mukesh Kumar Savaliya
Browse files

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: default avatarMukesh Kumar Savaliya <quic_msavaliy@quicinc.com>
parent 71b6dcd5
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -1235,10 +1235,14 @@ static int geni_i2c_xfer(struct i2c_adapter *adap,
		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);
	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;
}