]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
i2c: microchip-core: actually use repeated sends
authorConor Dooley <conor.dooley@microchip.com>
Wed, 18 Dec 2024 12:07:40 +0000 (12:07 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Jan 2025 09:34:22 +0000 (10:34 +0100)
commita0d637675f2ba98743d0f649c3f7d1cc5cf12ef2
treeb6b81c537afc6fac29a3ed654b4079a292930873
parent8e8494c83cf73168118587e9567e4f7e50ce4fd8
i2c: microchip-core: actually use repeated sends

commit 9a8f9320d67b27ddd7f1ee88d91820197a0e908f upstream.

At present, where repeated sends are intended to be used, the
i2c-microchip-core driver sends a stop followed by a start. Lots of i2c
devices must not malfunction in the face of this behaviour, because the
driver has operated like this for years! Try to keep track of whether or
not a repeated send is required, and suppress sending a stop in these
cases.

CC: stable@vger.kernel.org
Fixes: 64a6f1c4987e ("i2c: add support for microchip fpga i2c controllers")
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20241218-football-composure-e56df2461461@spud
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/i2c/busses/i2c-microchip-corei2c.c