[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251021072431.3427-1-guojinhui.liam@bytedance.com>
Date: Tue, 21 Oct 2025 15:24:30 +0800
From: Jinhui Guo <guojinhui.liam@...edance.com>
To: mika.westerberg@...ux.intel.com,
andriy.shevchenko@...ux.intel.com,
jsd@...ihalf.com,
andi.shyti@...nel.org
Cc: guojinhui.liam@...edance.com,
linux-i2c@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v2 0/1] i2c: designware: Fix SMBUS Master interrupts storms
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/
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.
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
Powered by blists - more mailing lists