Re: i2c-CLSA0100:00-cs35l41-hda.1: System Suspend not supported

From: Bagas Sanjaya
Date: Tue Jan 03 2023 - 21:18:56 EST


On Tue, Jan 03, 2023 at 08:45:05PM +0000, Waldek Andrukiewicz wrote:
> Hello,
>
> I am running Manjaro, after upgrading from kernel 6.0.15 to 6.1.1
> (https://gitlab.manjaro.org/packages/core/linux61) I have noticed that
> suspend stopped working, what I can see in the logs is the following
> issue which IMO points to cs35l41
>
> Machine:
>   Type: Laptop System: LENOVO product: 82N6 v: Legion 7 16ACHg6
>
> journalctl output below:
>
> Jan 02 21:52:54 legion16 systemd[1]: Starting System Suspend...
> Jan 02 21:52:54 legion16 wpa_supplicant[1193]: wlp4s0:
> CTRL-EVENT-DSCP-POLICY clear_all
> Jan 02 21:52:54 legion16 systemd-sleep[2912]: Entering sleep state
> 'suspend'...
> Jan 02 21:52:54 legion16 kernel: PM: suspend entry (deep)
> Jan 02 21:52:54 legion16 kernel: Filesystems sync: 0.008 seconds
> Jan 02 21:52:54 legion16 wpa_supplicant[1193]: wlp4s0:
> CTRL-EVENT-DSCP-POLICY clear_all
> Jan 02 21:52:54 legion16 wpa_supplicant[1193]: nl80211: deinit
> ifname=wlp4s0 disabled_11b_rates=0
> Jan 02 21:52:54 legion16 plasmashell[1770]: qml: [DEBUG] - onNewData
> Jan 02 21:52:54 legion16 kernel: Freezing user space processes ...
> (elapsed 0.002 seconds) done.
> Jan 02 21:52:54 legion16 kernel: OOM killer disabled.
> Jan 02 21:52:54 legion16 kernel: Freezing remaining freezable tasks ...
> (elapsed 0.001 seconds) done.
> Jan 02 21:52:54 legion16 kernel: printk: Suspending console(s) (use
> no_console_suspend to debug)
> Jan 02 21:52:54 legion16 kernel: cs35l41-hda
> i2c-CLSA0100:00-cs35l41-hda.1: System Suspend not supported
> Jan 02 21:52:54 legion16 kernel: cs35l41-hda
> i2c-CLSA0100:00-cs35l41-hda.0: System Suspend not supported
> Jan 02 21:52:54 legion16 kernel: cs35l41-hda
> i2c-CLSA0100:00-cs35l41-hda.1: PM: dpm_run_callback():
> cs35l41_system_suspend+0x0/0xd0 [snd_hda_scodec_cs35l41] returns -22
> Jan 02 21:52:54 legion16 kernel: cs35l41-hda
> i2c-CLSA0100:00-cs35l41-hda.0: PM: dpm_run_callback():
> cs35l41_system_suspend+0x0/0xd0 [snd_hda_scodec_cs35l41] returns -22
> Jan 02 21:52:54 legion16 kernel: cs35l41-hda
> i2c-CLSA0100:00-cs35l41-hda.1: PM: failed to suspend async: error -22
> Jan 02 21:52:54 legion16 kernel: cs35l41-hda
> i2c-CLSA0100:00-cs35l41-hda.0: PM: failed to suspend async: error -22
> Jan 02 21:52:54 legion16 kernel: PM: Some devices failed to suspend, or
> early wake event detected
> Jan 02 21:52:54 legion16 kernel: OOM killer enabled.
> Jan 02 21:52:54 legion16 kernel: Restarting tasks ... done.
> Jan 02 21:52:54 legion16 kernel: random: crng reseeded on system resumption
> Jan 02 21:52:54 legion16 syncthing[1588]: [RBC2R] INFO: Relay listener
> (dynamic+https://relays.syncthing.net/endpoint) shutting down
> Jan 02 21:52:54 legion16 syncthing[1588]: [RBC2R] INFO:
> listenerSupervisor@dynamic+https://relays.syncthing.net/endpoint:
> service dynamic+https://relays.syncthing.net/endpoint failed: could not
> find a connectable relay
> Jan 02 21:52:54 legion16 syncthing[1588]: [RBC2R] INFO: Relay listener
> (dynamic+https://relays.syncthing.net/endpoint) starting
> Jan 02 21:52:54 legion16 syncthing[1588]: [RBC2R] INFO: Relay listener
> (dynamic+https://relays.syncthing.net/endpoint) shutting down
> Jan 02 21:52:54 legion16 syncthing[1588]: [RBC2R] INFO:
> listenerSupervisor@dynamic+https://relays.syncthing.net/endpoint:
> service dynamic+https://relays.syncthing.net/endpoint failed: Get
> "https://relays.syncthing.net/endpoint": dial tcp: lookup
> relays.syncthing.net on [::1]:53: read udp [::1]:58193->[::1]:53: read:
> connection refused
> Jan 02 21:52:54 legion16 syncthing[1588]: [RBC2R] INFO: Relay listener
> (dynamic+https://relays.syncthing.net/endpoint) starting
> Jan 02 21:52:54 legion16 syncthing[1588]: [RBC2R] INFO: Relay listener
> (dynamic+https://relays.syncthing.net/endpoint) shutting down
> Jan 02 21:52:54 legion16 syncthing[1588]: [RBC2R] INFO:
> listenerSupervisor@dynamic+https://relays.syncthing.net/endpoint:
> service dynamic+https://relays.syncthing.net/endpoint failed: Get
> "https://relays.syncthing.net/endpoint": dial tcp: lookup
> relays.syncthing.net on [::1]:53: read udp [::1]:35430->[::1]:53: read:
> connection refused
> Jan 02 21:52:55 legion16 bluetoothd[942]: Controller resume with wake
> event 0x0
> Jan 02 21:52:55 legion16 kernel: PM: suspend exit
> Jan 02 21:52:55 legion16 kernel: PM: suspend entry (s2idle)
> Jan 02 21:52:55 legion16 kernel: Filesystems sync: 0.004 seconds
> Jan 02 21:52:55 legion16 kernel: Freezing user space processes ...
> (elapsed 0.001 seconds) done.
> Jan 02 21:52:55 legion16 kernel: OOM killer disabled.
> Jan 02 21:52:55 legion16 kernel: Freezing remaining freezable tasks ...
> (elapsed 0.216 seconds) done.
> Jan 02 21:52:55 legion16 kernel: printk: Suspending console(s) (use
> no_console_suspend to debug)
> Jan 02 21:52:55 legion16 kernel: cs35l41-hda
> i2c-CLSA0100:00-cs35l41-hda.1: System Suspend not supported
> Jan 02 21:52:55 legion16 kernel: cs35l41-hda
> i2c-CLSA0100:00-cs35l41-hda.1: PM: dpm_run_callback():
> cs35l41_system_suspend+0x0/0xd0 [snd_hda_scodec_cs35l41] returns -22
> Jan 02 21:52:55 legion16 kernel: cs35l41-hda
> i2c-CLSA0100:00-cs35l41-hda.1: PM: failed to suspend async: error -22
> Jan 02 21:52:55 legion16 kernel: PM: Some devices failed to suspend, or
> early wake event detected
> Jan 02 21:52:55 legion16 kernel: OOM killer enabled.
> Jan 02 21:52:55 legion16 plasmashell[1770]: qml: [DEBUG] - onNewData
> Jan 02 21:52:55 legion16 kernel: Restarting tasks ... done.
> Jan 02 21:52:55 legion16 kernel: random: crng reseeded on system resumption
> Jan 02 21:52:55 legion16 systemd-sleep[2912]: Failed to put system to
> sleep. System resumed again: Invalid argument
> Jan 02 21:52:55 legion16 kernel: PM: suspend exit
> Jan 02 21:52:55 legion16 bluetoothd[942]: Controller resume with wake
> event 0x0
> Jan 02 21:52:55 legion16 systemd[1]: systemd-suspend.service: Main
> process exited, code=exited, status=1/FAILURE
> Jan 02 21:52:55 legion16 systemd[1]: systemd-suspend.service: Failed
> with result 'exit-code'.
> Jan 02 21:52:55 legion16 systemd[1]: Failed to start System Suspend.
> Jan 02 21:52:55 legion16 systemd[1]: Dependency failed for Suspend.
>
> I have to admit I have not tried 6.1.2 yet but I could not find any
> changes related to this module (opposite to 6.1 where there was quite a
> few including suspend - commit dca45efbe3c870a4ad2107fe625109b3765c0fea).
>

Can you please try building mainline (Linus's tree) and boot from it?
If the suspend success in the mainline, can you also bisect to find the
culprit?

In any case, I'm adding this to regzbot:

#regzbot ^introduced v6.0..v6.1
#regzbot title Suspend not supported on Lenovo Legion 7 since v6.1

Thanks.

--
An old man doll... just what I always wanted! - Clara

Attachment: signature.asc
Description: PGP signature