[PATCH 5.0 117/238] i2c: tegra: fix maximum transfer size

From: Greg Kroah-Hartman
Date: Fri Mar 22 2019 - 08:17:41 EST


5.0-stable review patch. If anyone has any objections, please let me know.

------------------

From: Sowjanya Komatineni <skomatineni@xxxxxxxxxx>

commit f4e3f4ae1d9c9330de355f432b69952e8cef650c upstream.

Tegra186 and prior supports maximum 4K bytes per packet transfer
including 12 bytes of packet header.

This patch fixes max write length limit to account packet header
size for transfers.

Cc: stable@xxxxxxxxxxxxxxx # 4.4+

Reviewed-by: Dmitry Osipenko <digetx@xxxxxxxxx>
Signed-off-by: Sowjanya Komatineni <skomatineni@xxxxxxxxxx>
Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

---
drivers/i2c/busses/i2c-tegra.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -837,7 +837,7 @@ static const struct i2c_algorithm tegra_
static const struct i2c_adapter_quirks tegra_i2c_quirks = {
.flags = I2C_AQ_NO_ZERO_LEN,
.max_read_len = 4096,
- .max_write_len = 4096,
+ .max_write_len = 4096 - 12,
};

static const struct i2c_adapter_quirks tegra194_i2c_quirks = {