Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i2c: Prevent runtime suspend of adapter when Host Notify is required
Multiple users have reported their Synaptics touchpad has stopped working between v4.20.1 and v4.20.2 when using SMBus interface. The culprit for this appeared to be commit c5eb119 ("PCI / PM: Allow runtime PM without callback functions") that fixed the runtime PM for i2c-i801 SMBus adapter. Those Synaptics touchpad are using i2c-i801 for SMBus communication and testing showed they are able to get back working by preventing the runtime suspend of adapter. Normally when i2c-i801 SMBus adapter transmits with the client it resumes before operation and autosuspends after. However, if client requires SMBus Host Notify protocol, what those Synaptics touchpads do, then the host adapter must not go to runtime suspend since then it cannot process incoming SMBus Host Notify commands the client may send. Fix this by keeping I2C/SMBus adapter active in case client requires Host Notify. Reported-by: Keijo Vaara <[email protected]> Link: https://bugzilla.kernel.org/show_bug.cgi?id=203297 Fixes: c5eb119 ("PCI / PM: Allow runtime PM without callback functions") Cc: [email protected] # v4.20+ Signed-off-by: Jarkko Nikula <[email protected]> Acked-by: Rafael J. Wysocki <[email protected]> Tested-by: Keijo Vaara <[email protected]> Signed-off-by: Wolfram Sang <[email protected]>
- Loading branch information