[PATCH v2 0/3] hw/i2c: smbus: Reset fixes

Joe Komlodi posted 3 patches 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240126005541.1839038-1-komlodi@google.com
Maintainers: Corey Minyard <cminyard@mvista.com>
There is a newer version of this series
hw/i2c/core.c        | 30 +++++++++++++++++++++++++-----
hw/i2c/smbus_slave.c | 17 +++++++++++++++--
include/hw/i2c/i2c.h |  6 +++++-
3 files changed, 45 insertions(+), 8 deletions(-)
[PATCH v2 0/3] hw/i2c: smbus: Reset fixes
Posted by Joe Komlodi 10 months ago
Changelog:

v1 -> v2
- Dropped 4th patch "hw/i2c: smbus: mux: Reset SMBusDevice state
on reset". After more testing and Corey's comment, I realized it
wasn't needed.

Original message:

Hi all,

This series adds some resets for SMBus and for the I2C core. Along with
it, we make SMBus slave error printing a little more helpful.

These reset issues were very infrequent, they would maybe occur in 1 out
of hundreds of resets in our testing, but the way they happen is pretty
straightforward.

Basically as long as a reset happens in the middle of a transaction, the
state of the old transaction would still partially be there after the
reset. Once a new transaction comes in, the partial stale state can
cause the new transaction to incorrectly fail.

Thanks,
Joe

Joe Komlodi (3):
  hw/i2c: core: Add reset
  hw/i2c/smbus_slave: Add object path on error prints
  hw/i2c: smbus_slave: Reset state on reset

 hw/i2c/core.c        | 30 +++++++++++++++++++++++++-----
 hw/i2c/smbus_slave.c | 17 +++++++++++++++--
 include/hw/i2c/i2c.h |  6 +++++-
 3 files changed, 45 insertions(+), 8 deletions(-)

-- 
2.43.0.429.g432eaa2c6b-goog