Changelog:
v2 -> v3
Patch 1
- Removed I3CBus class definition, since it was unneeded.
- whitespace fixes
- Changed enter_reset to hold_reset
Patch 2
- Moved pointer returned by object_get_canonical_path outside of printf
so it can be freed
Patch 3
- Changed enter_reset to hold_reset
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 | 19 +++++++++++++++++++
hw/i2c/smbus_slave.c | 17 +++++++++++++++--
include/hw/i2c/i2c.h | 2 +-
3 files changed, 35 insertions(+), 3 deletions(-)
--
2.43.0.594.gd9cf4e227d-goog