Re: [PATCH] i2c: designware: fix master is holding SCL low while ENABLE bit is disabled

From: Andi Shyti
Date: Fri Sep 06 2024 - 17:34:52 EST


Hi Kimriver,

...

> diff --git a/drivers/i2c/busses/i2c-designware-common.c b/drivers/i2c/busses/i2c-designware-common.c
> index e8a688d04aee..2b3398cd4382 100644
> --- a/drivers/i2c/busses/i2c-designware-common.c
> +++ b/drivers/i2c/busses/i2c-designware-common.c
> @@ -453,6 +453,17 @@ void __i2c_dw_disable(struct dw_i2c_dev *dev)
>
> abort_needed = raw_intr_stats & DW_IC_INTR_MST_ON_HOLD;
> if (abort_needed) {
> + if (!(enable & DW_IC_ENABLE_ENABLE)) {
> + regmap_write(dev->map, DW_IC_ENABLE, DW_IC_ENABLE_ENABLE);

BTW, your patch doesn't compile. Please make sure that you have
everything in place and please resend.

This time I expect you to follow Andy's suggestion.

Thanks,
Andi