Two fixes in this update:

Tegra I2C Controller: Addresses a potential double-locking issue
 during probe. ACPI devices are not IRQ-safe when invoking runtime
 suspend and resume functions, so the irq_safe flag should not be
 set.
 
 Qualcomm GENI I2C Controller: Fixes an oversight in the exit path
 of the runtime_resume() function, which was missed in the
 previous release.
 -----BEGIN PGP SIGNATURE-----
 
 iIwEABYIADQWIQScDfrjQa34uOld1VLaeAVmJtMtbgUCZr8N2RYcYW5kaS5zaHl0
 aUBrZXJuZWwub3JnAAoJENp4BWYm0y1uRL4A/0kePjtTa2xs8tdkSBWhvOO3ZbL1
 WyLcNsQ0F5JK7uS+AP42FnB0wVkIZe3LHATDZ6zKg0q8XfXw24budGeVqoWiAw==
 =KWwA
 -----END PGP SIGNATURE-----

Merge tag 'i2c-host-fixes-6.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-current

Two fixes in this update:

Tegra I2C Controller: Addresses a potential double-locking issue
during probe. ACPI devices are not IRQ-safe when invoking runtime
suspend and resume functions, so the irq_safe flag should not be
set.

Qualcomm GENI I2C Controller: Fixes an oversight in the exit path
of the runtime_resume() function, which was missed in the
previous release.
This commit is contained in:
Wolfram Sang 2024-08-16 16:23:51 +02:00
commit 87cea48495
2 changed files with 5 additions and 3 deletions

View File

@ -986,8 +986,10 @@ static int __maybe_unused geni_i2c_runtime_resume(struct device *dev)
return ret;
ret = clk_prepare_enable(gi2c->core_clk);
if (ret)
if (ret) {
geni_icc_disable(&gi2c->se);
return ret;
}
ret = geni_se_resources_on(&gi2c->se);
if (ret) {

View File

@ -1802,9 +1802,9 @@ static int tegra_i2c_probe(struct platform_device *pdev)
* domain.
*
* VI I2C device shouldn't be marked as IRQ-safe because VI I2C won't
* be used for atomic transfers.
* be used for atomic transfers. ACPI device is not IRQ safe also.
*/
if (!IS_VI(i2c_dev))
if (!IS_VI(i2c_dev) && !has_acpi_companion(i2c_dev->dev))
pm_runtime_irq_safe(i2c_dev->dev);
pm_runtime_enable(i2c_dev->dev);