]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
mlxsw: i2c: Fix chunk size setting in output mailbox buffer
authorVadim Pasternak <vadimp@nvidia.com>
Thu, 24 Aug 2023 13:43:08 +0000 (15:43 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 25 Aug 2023 09:53:37 +0000 (10:53 +0100)
commit146c7c330507c0384bf29d567186632bfe975927
tree211d3a8f004e78cc9d5205c465759c78b90c4142
parent786c96e92fb9e854cb8b0cb7399bb2fb28e15c4b
mlxsw: i2c: Fix chunk size setting in output mailbox buffer

The driver reads commands output from the output mailbox. If the size
of the output mailbox is not a multiple of the transaction /
block size, then the driver will not issue enough read transactions
to read the entire output, which can result in driver initialization
errors.

Fix by determining the number of transactions using DIV_ROUND_UP().

Fixes: 3029a693beda ("mlxsw: i2c: Allow flexible setting of I2C transactions size")
Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/i2c.c