[PATCH v3 0/1] i2c: designware: Fix SMBUS Master interrupts storms

Jinhui Guo posted 1 patch 1 month, 4 weeks ago
drivers/i2c/busses/i2c-designware-core.h   | 1 +
drivers/i2c/busses/i2c-designware-master.c | 7 +++++++
2 files changed, 8 insertions(+)
[PATCH v3 0/1] i2c: designware: Fix SMBUS Master interrupts storms
Posted by Jinhui Guo 1 month, 4 weeks ago
Hi all,

We hit interrupt storms on the SMBus master extend-clock timeout IRQ
and SMBUS Slave Clock Extend Timeout IRQ because broken firmware left
IC_SMBUS=1 while the driver IRQ handler never services SMBus events.

Since we cannot disable IC_SMBUS directly, mask its interrupts to
prevent floods and make the driver more robust.

Thanks,
Jinhui

---
v1: https://lore.kernel.org/all/20251011073057.2959-1-guojinhui.liam@bytedance.com/
v2: https://lore.kernel.org/all/20251021072431.3427-1-guojinhui.liam@bytedance.com/

Changelog in v1 -> v2 (suggested by Mika and Andy Shevchenko)
 - Drop the stand-alone i2c_dw_disable_smbus_intr() wrapper and mask
   the SMBus interrupt directly in i2c_dw_init_master() after the
   adapter is disabled. [Tested]
 - Align the DW_IC_SMBUS_INTR_MASK macro definition to three TABs so
   that it matches the surrounding macro indentation style.
Changelog in v2 -> v3
 - Add Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>

Jinhui Guo (1):
  i2c: designware: Disable SMBus interrupts to prevent storms from
    mis-configured firmware

 drivers/i2c/busses/i2c-designware-core.h   | 1 +
 drivers/i2c/busses/i2c-designware-master.c | 7 +++++++
 2 files changed, 8 insertions(+)

-- 
2.20.1
Re: [PATCH v3 0/1] i2c: designware: Fix SMBUS Master interrupts storms
Posted by Andi Shyti 1 month, 3 weeks ago
Hi Jinhui,

> Jinhui Guo (1):
>   i2c: designware: Disable SMBus interrupts to prevent storms from
>     mis-configured firmware

merged to i2c/i2c-host. Next time for a single patch you don't
need a cover letter.

Thank you,
Andi