All of lore.kernel.org
 help / color / mirror / Atom feed
* i2c-CLSA0100:00-cs35l41-hda.1: System Suspend not supported
@ 2023-01-03 20:45 Waldek Andrukiewicz
  2023-01-04  2:18 ` Bagas Sanjaya
  0 siblings, 1 reply; 5+ messages in thread
From: Waldek Andrukiewicz @ 2023-01-03 20:45 UTC (permalink / raw)
  To: stable; +Cc: regressions

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).

I can provide any additional information or logs if necessary.

Best Regards,

Waldek





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: i2c-CLSA0100:00-cs35l41-hda.1: System Suspend not supported
  2023-01-03 20:45 i2c-CLSA0100:00-cs35l41-hda.1: System Suspend not supported Waldek Andrukiewicz
@ 2023-01-04  2:18 ` Bagas Sanjaya
  2023-01-04 20:05   ` Waldek Andrukiewicz
  0 siblings, 1 reply; 5+ messages in thread
From: Bagas Sanjaya @ 2023-01-04  2:18 UTC (permalink / raw)
  To: Waldek Andrukiewicz, stable; +Cc: regressions, LKML

[-- Attachment #1: Type: text/plain, Size: 6877 bytes --]

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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: i2c-CLSA0100:00-cs35l41-hda.1: System Suspend not supported
  2023-01-04  2:18 ` Bagas Sanjaya
@ 2023-01-04 20:05   ` Waldek Andrukiewicz
  0 siblings, 0 replies; 5+ messages in thread
From: Waldek Andrukiewicz @ 2023-01-04 20:05 UTC (permalink / raw)
  To: Bagas Sanjaya, stable; +Cc: regressions, LKML


On 04.01.23 03:18, Bagas Sanjaya wrote:
> 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.
>
I have received a patch from Takashi Iwai and tested it, it helped, I
can suspend my laptop same as I could with kernels prior to 6.1.

Thank you.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: i2c-CLSA0100:00-cs35l41-hda.1: System Suspend not supported
  2023-01-04  9:29 ` Takashi Iwai
@ 2023-01-04 17:37   ` waldek andrukiewicz
  0 siblings, 0 replies; 5+ messages in thread
From: waldek andrukiewicz @ 2023-01-04 17:37 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: stable, regressions, Stefan Binding, Richard Fitzgerald, Lucas Tanure


On 04.01.23 10:29, Takashi Iwai wrote:
> [ adding Cirrus people to Cc ]
>
> On Tue, 03 Jan 2023 21:39:42 +0100,
> 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
> Indeed the suspend isn't supported for this chip wrt the specific
> model/config, but it's a bad behavior to block the whole system
> suspend due to that.
>
> Could you try the patch below?
>
>
> Takashi
>
> -- 8< --
> diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
> index 91842c0c8c74..6322157c7ea2 100644
> --- a/sound/pci/hda/cs35l41_hda.c
> +++ b/sound/pci/hda/cs35l41_hda.c
> @@ -598,8 +598,8 @@ static int cs35l41_system_suspend(struct device *dev)
>   	dev_dbg(cs35l41->dev, "System Suspend\n");
>
>   	if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST_NO_VSPK_SWITCH) {
> -		dev_err(cs35l41->dev, "System Suspend not supported\n");
> -		return -EINVAL;
> +		dev_err_once(cs35l41->dev, "System Suspend not supported\n");
> +		return 0; /* don't block the whole system suspend */
>   	}
>
>   	ret = pm_runtime_force_suspend(dev);
> @@ -624,8 +624,8 @@ static int cs35l41_system_resume(struct device *dev)
>   	dev_dbg(cs35l41->dev, "System Resume\n");
>
>   	if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST_NO_VSPK_SWITCH) {
> -		dev_err(cs35l41->dev, "System Resume not supported\n");
> -		return -EINVAL;
> +		dev_err_once(cs35l41->dev, "System Resume not supported\n");
> +		return 0; /* don't block the whole system resume */
>   	}
>
>   	if (cs35l41->reset_gpio) {
> @@ -647,6 +647,15 @@ static int cs35l41_system_resume(struct device *dev)
>   	return ret;
>   }
>
> +static int cs35l41_runtime_idle(struct device *dev)
> +{
> +	struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
> +
> +	if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST_NO_VSPK_SWITCH)
> +		return -EBUSY; /* suspend not supported yet on this model */
> +	return 0;
> +}
> +
>   static int cs35l41_runtime_suspend(struct device *dev)
>   {
>   	struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
> @@ -1536,7 +1545,8 @@ void cs35l41_hda_remove(struct device *dev)
>   EXPORT_SYMBOL_NS_GPL(cs35l41_hda_remove, SND_HDA_SCODEC_CS35L41);
>
>   const struct dev_pm_ops cs35l41_hda_pm_ops = {
> -	RUNTIME_PM_OPS(cs35l41_runtime_suspend, cs35l41_runtime_resume, NULL)
> +	RUNTIME_PM_OPS(cs35l41_runtime_suspend, cs35l41_runtime_resume,
> +		       cs35l41_runtime_idle)
>   	SYSTEM_SLEEP_PM_OPS(cs35l41_system_suspend, cs35l41_system_resume)
>   };
>   EXPORT_SYMBOL_NS_GPL(cs35l41_hda_pm_ops, SND_HDA_SCODEC_CS35L41);


Hi Takashi,

Thank you for your prompt reply, I decided to patch the Manjaro 6.1.3
kernel and in case the issue persisted, try the same with mainline but
it helped. I can suspend/resume the laptop same as I could with pre 6.1
kernels.

If you are interested in any logs from my system let me know.

Best Regards,

Waldek Andrukiewicz



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: i2c-CLSA0100:00-cs35l41-hda.1: System Suspend not supported
       [not found] <4262e3c4-6169-bbd2-e918-16b06f6994bc@protonmail.com>
@ 2023-01-04  9:29 ` Takashi Iwai
  2023-01-04 17:37   ` waldek andrukiewicz
  0 siblings, 1 reply; 5+ messages in thread
From: Takashi Iwai @ 2023-01-04  9:29 UTC (permalink / raw)
  To: waldek andrukiewicz
  Cc: stable, regressions, tiwai, Stefan Binding, Richard Fitzgerald,
	Lucas Tanure

[ adding Cirrus people to Cc ]

On Tue, 03 Jan 2023 21:39:42 +0100,
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

Indeed the suspend isn't supported for this chip wrt the specific
model/config, but it's a bad behavior to block the whole system
suspend due to that.

Could you try the patch below?


Takashi

-- 8< --
diff --git a/sound/pci/hda/cs35l41_hda.c b/sound/pci/hda/cs35l41_hda.c
index 91842c0c8c74..6322157c7ea2 100644
--- a/sound/pci/hda/cs35l41_hda.c
+++ b/sound/pci/hda/cs35l41_hda.c
@@ -598,8 +598,8 @@ static int cs35l41_system_suspend(struct device *dev)
 	dev_dbg(cs35l41->dev, "System Suspend\n");
 
 	if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST_NO_VSPK_SWITCH) {
-		dev_err(cs35l41->dev, "System Suspend not supported\n");
-		return -EINVAL;
+		dev_err_once(cs35l41->dev, "System Suspend not supported\n");
+		return 0; /* don't block the whole system suspend */
 	}
 
 	ret = pm_runtime_force_suspend(dev);
@@ -624,8 +624,8 @@ static int cs35l41_system_resume(struct device *dev)
 	dev_dbg(cs35l41->dev, "System Resume\n");
 
 	if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST_NO_VSPK_SWITCH) {
-		dev_err(cs35l41->dev, "System Resume not supported\n");
-		return -EINVAL;
+		dev_err_once(cs35l41->dev, "System Resume not supported\n");
+		return 0; /* don't block the whole system resume */
 	}
 
 	if (cs35l41->reset_gpio) {
@@ -647,6 +647,15 @@ static int cs35l41_system_resume(struct device *dev)
 	return ret;
 }
 
+static int cs35l41_runtime_idle(struct device *dev)
+{
+	struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
+
+	if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST_NO_VSPK_SWITCH)
+		return -EBUSY; /* suspend not supported yet on this model */
+	return 0;
+}
+
 static int cs35l41_runtime_suspend(struct device *dev)
 {
 	struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev);
@@ -1536,7 +1545,8 @@ void cs35l41_hda_remove(struct device *dev)
 EXPORT_SYMBOL_NS_GPL(cs35l41_hda_remove, SND_HDA_SCODEC_CS35L41);
 
 const struct dev_pm_ops cs35l41_hda_pm_ops = {
-	RUNTIME_PM_OPS(cs35l41_runtime_suspend, cs35l41_runtime_resume, NULL)
+	RUNTIME_PM_OPS(cs35l41_runtime_suspend, cs35l41_runtime_resume,
+		       cs35l41_runtime_idle)
 	SYSTEM_SLEEP_PM_OPS(cs35l41_system_suspend, cs35l41_system_resume)
 };
 EXPORT_SYMBOL_NS_GPL(cs35l41_hda_pm_ops, SND_HDA_SCODEC_CS35L41);

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-01-04 20:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-03 20:45 i2c-CLSA0100:00-cs35l41-hda.1: System Suspend not supported Waldek Andrukiewicz
2023-01-04  2:18 ` Bagas Sanjaya
2023-01-04 20:05   ` Waldek Andrukiewicz
     [not found] <4262e3c4-6169-bbd2-e918-16b06f6994bc@protonmail.com>
2023-01-04  9:29 ` Takashi Iwai
2023-01-04 17:37   ` waldek andrukiewicz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.