Re: [PATCH AUTOSEL 5.15 35/68] i2c: i801: Fix interrupt storm from SMB_ALERT signal

Jean Delvare
2021-12-03T08:30:11Z

Hi Sasha,

On Tue, 30 Nov 2021 09:46:31 -0500, Sasha Levin wrote:
> From: Jarkko Nikula <jarkko.nikula@linux.intel.com>
>
> [ Upstream commit 03a976c9afb5e3c4f8260c6c08a27d723b279c92 ]
>
> Currently interrupt storm will occur from i2c-i801 after first
> transaction if SMB_ALERT signal is enabled and ever asserted. It is
> enough if the signal is asserted once even before the driver is loaded
> and does not recover because that interrupt is not acknowledged.
>
> This fix aims to fix it by two ways:
> - Add acknowledging for the SMB_ALERT interrupt status
> - Disable the SMB_ALERT interrupt on platforms where possible since the
> driver currently does not make use for it
>
> Acknowledging resets the SMB_ALERT interrupt status on all platforms and
> also should help to avoid interrupt storm on older platforms where the
> SMB_ALERT interrupt disabling is not available.
>
> For simplicity this fix reuses the host notify feature for disabling and
> restoring original register value.
> (...)

If you are backporting this, then I think you should also include:

commit 9b5bf5878138293fb5b14a48a7a17b6ede6bea25
Author: Jean Delvare
Date: Tue Nov 9 16:02:57 2021 +0100

i2c: i801: Restore INTREN on unload

which is the first half of the fix for the same bug. Jarkko's patch
fixes the interrupt storm while the driver is loaded, mine fixes it
after the driver is unloaded (or when the device is handed over to the
BIOS, at suspend or reboot).

--
Jean Delvare
SUSE L3 Support