On 2023-02-07 11:33 AM, Andy Shevchenko wrote:
On Tue, Feb 07, 2023 at 09:25:40AM +0200, Mika Westerberg wrote:
After commit b38f2d5d9615 ("i2c: acpi: Use ACPI wake capability bit to
set wake_irq") the I2C core has been setting I2C_CLIENT_WAKE for ACPI
devices if they announce to be wake capable in their device description.
However, on certain systems where audio codec has been connected through
I2C this causes system suspend to wake up immediately because power to
the codec is turned off which pulls the interrupt line "low" triggering
wake up.
Possible reason why the interrupt is marked as wake capable is that some
codecs apparently support "Wake on Voice" or similar functionality.
In any case, I don't think we should be enabling wakeup by default on
all I2C devices that are wake capable. According to device_init_wakeup()
documentation most devices should leave it disabled, with exceptions on
devices such as keyboards, power buttons etc. Userspace can enable
wakeup as needed by writing to device "power/wakeup" attribute.
I agree on the reasoning.
Should we have a Fixes tag?
Otherwise
Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
In any case it would be nice if the initial contributors may have a chance
to test this and see how their setup is supposed to work.
Hello,
Thanks for the patch Mika and your input Andy. While neither I nor
Amadeusz contributed to the initial change, we will be testing this one
too - reverting the revert of the offending change that we had
internally and applying this patch instead. Tests should be concluded by
Thursday/Friday this week.
Regards,
Czarek