i2c: tegra: fix maximum transfer size
authorSowjanya Komatineni <skomatineni@nvidia.com>
Tue, 12 Feb 2019 19:06:44 +0000 (11:06 -0800)
committerWolfram Sang <wsa@the-dreams.de>
Thu, 14 Feb 2019 16:47:58 +0000 (17:47 +0100)
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@vger.kernel.org # 4.4+
Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-tegra.c

index a46446dbc48a34377ac0f3d6d99b355397b5a43d..036cab7954264c80bfc04d2ada0b6dcc5d9cb30d 100644 (file)
@@ -901,7 +901,7 @@ static const struct i2c_algorithm tegra_i2c_algo = {
 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 = {