On 6/29/22 05:36, Peter Delevoryas wrote:
> aspeed_i2c_bus_is_master is checking if master mode is enabled in the I2C
> bus controller's function-control register, not that slave mode is enabled
> or something. The error here is that the guest is trying to trigger an I2C
> master mode command while master mode is not enabled.
>
> Fixes: ba2cccd64e90f342 ("aspeed: i2c: Add new mode support")
> Signed-off-by: Peter Delevoryas <pdel@fb.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
> ---
> hw/i2c/aspeed_i2c.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/i2c/aspeed_i2c.c b/hw/i2c/aspeed_i2c.c
> index cbaa7c96fc..c153a1a942 100644
> --- a/hw/i2c/aspeed_i2c.c
> +++ b/hw/i2c/aspeed_i2c.c
> @@ -601,7 +601,7 @@ static void aspeed_i2c_bus_new_write(AspeedI2CBus *bus, hwaddr offset,
> }
>
> if (!aspeed_i2c_bus_is_master(bus)) {
> - qemu_log_mask(LOG_UNIMP, "%s: slave mode not implemented\n",
> + qemu_log_mask(LOG_GUEST_ERROR, "%s: Master mode is not enabled\n",
> __func__);
> break;
> }
> @@ -744,7 +744,7 @@ static void aspeed_i2c_bus_old_write(AspeedI2CBus *bus, hwaddr offset,
> }
>
> if (!aspeed_i2c_bus_is_master(bus)) {
> - qemu_log_mask(LOG_UNIMP, "%s: slave mode not implemented\n",
> + qemu_log_mask(LOG_GUEST_ERROR, "%s: Master mode is not enabled\n",
> __func__);
> break;
> }