From: Titus Rwantare Date: Mon, 23 Oct 2023 23:46:46 +0000 (+0000) Subject: hw/i2c: pmbus: immediately clear faults on request X-Git-Tag: v8.2.0-rc0~19^2~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=84db503e7c260ace0cf7267379955bbae77e85a4;p=thirdparty%2Fqemu.git hw/i2c: pmbus: immediately clear faults on request The probing process of the generic pmbus driver generates faults to determine if functions are available. These faults were not always cleared resulting in probe failures. Reviewed-by: Patrick Venture Signed-off-by: Titus Rwantare Message-ID: <20231023-staging-pmbus-v3-v4-7-07a8cb7cd20a@google.com> Signed-off-by: Philippe Mathieu-Daudé --- diff --git a/hw/i2c/pmbus_device.c b/hw/i2c/pmbus_device.c index 3bce39e84e4..481e1583803 100644 --- a/hw/i2c/pmbus_device.c +++ b/hw/i2c/pmbus_device.c @@ -1244,6 +1244,11 @@ static int pmbus_write_data(SMBusDevice *smd, uint8_t *buf, uint8_t len) pmdev->in_buf = buf; pmdev->code = buf[0]; /* PMBus command code */ + + if (pmdev->code == PMBUS_CLEAR_FAULTS) { + pmbus_clear_faults(pmdev); + } + if (len == 1) { /* Single length writes are command codes only */ return 0; }