* [stable 6.6.y] commit e613904fa419 causes suspend regression @ 2026-05-19 4:51 Sergey Senozhatsky 2026-05-19 9:29 ` Greg Kroah-Hartman 2026-05-19 12:01 ` Myrrh Periwinkle 0 siblings, 2 replies; 6+ messages in thread From: Sergey Senozhatsky @ 2026-05-19 4:51 UTC (permalink / raw) To: Myrrh Periwinkle, Heikki Krogerus, Greg Kroah-Hartman Cc: stable, linux-usb, linux-kernel, Sergey Senozhatsky Hi, We've identified 6.6.y stable commit e613904fa419 (usb: typec: ucsi: Update power_supply on power role change) (commit 7616f006db07017 upstream) as a root-cause of suspend failures on some of our laptops. It seems that ucsi_port_psy_changed() causes: [ 309.858915] PM: last active wakeup source: ucsi-source-psy-cros_ec_ucsi.3.auto2 [ 309.858917] PM: PM: Last active Wakeup Source: ucsi-source-psy-cros_ec_ucsi.3.auto2 which prevent laptop from entering suspend. Reverting the commit in question fixes the issue. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [stable 6.6.y] commit e613904fa419 causes suspend regression 2026-05-19 4:51 [stable 6.6.y] commit e613904fa419 causes suspend regression Sergey Senozhatsky @ 2026-05-19 9:29 ` Greg Kroah-Hartman 2026-05-19 9:44 ` Sergey Senozhatsky 2026-05-19 12:01 ` Myrrh Periwinkle 1 sibling, 1 reply; 6+ messages in thread From: Greg Kroah-Hartman @ 2026-05-19 9:29 UTC (permalink / raw) To: Sergey Senozhatsky Cc: Myrrh Periwinkle, Heikki Krogerus, stable, linux-usb, linux-kernel On Tue, May 19, 2026 at 01:51:22PM +0900, Sergey Senozhatsky wrote: > Hi, > > We've identified 6.6.y stable commit e613904fa419 (usb: typec: ucsi: > Update power_supply on power role change) (commit 7616f006db07017 upstream) > as a root-cause of suspend failures on some of our laptops. It seems > that ucsi_port_psy_changed() causes: > > [ 309.858915] PM: last active wakeup source: ucsi-source-psy-cros_ec_ucsi.3.auto2 > [ 309.858917] PM: PM: Last active Wakeup Source: ucsi-source-psy-cros_ec_ucsi.3.auto2 > > which prevent laptop from entering suspend. Reverting the commit in > question fixes the issue. > Ok, and what should we do? Is this issue also in 7.0.y? thanks, greg k-h ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [stable 6.6.y] commit e613904fa419 causes suspend regression 2026-05-19 9:29 ` Greg Kroah-Hartman @ 2026-05-19 9:44 ` Sergey Senozhatsky 2026-05-19 9:51 ` Greg Kroah-Hartman 0 siblings, 1 reply; 6+ messages in thread From: Sergey Senozhatsky @ 2026-05-19 9:44 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: Sergey Senozhatsky, Myrrh Periwinkle, Heikki Krogerus, stable, linux-usb, linux-kernel On (26/05/19 11:29), Greg Kroah-Hartman wrote: > > We've identified 6.6.y stable commit e613904fa419 (usb: typec: ucsi: > > Update power_supply on power role change) (commit 7616f006db07017 upstream) > > as a root-cause of suspend failures on some of our laptops. It seems > > that ucsi_port_psy_changed() causes: > > > > [ 309.858915] PM: last active wakeup source: ucsi-source-psy-cros_ec_ucsi.3.auto2 > > [ 309.858917] PM: PM: Last active Wakeup Source: ucsi-source-psy-cros_ec_ucsi.3.auto2 > > > > which prevent laptop from entering suspend. Reverting the commit in > > question fixes the issue. > > > > Ok, and what should we do? I suppose what you usually do with stable regressions? > Is this issue also in 7.0.y? We don't have any boards on 7.0.y unfortunately. 6.6.y is the most recent we use, but I'd expect 7.0 to regress as well. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [stable 6.6.y] commit e613904fa419 causes suspend regression 2026-05-19 9:44 ` Sergey Senozhatsky @ 2026-05-19 9:51 ` Greg Kroah-Hartman 0 siblings, 0 replies; 6+ messages in thread From: Greg Kroah-Hartman @ 2026-05-19 9:51 UTC (permalink / raw) To: Sergey Senozhatsky Cc: Myrrh Periwinkle, Heikki Krogerus, stable, linux-usb, linux-kernel On Tue, May 19, 2026 at 06:44:07PM +0900, Sergey Senozhatsky wrote: > On (26/05/19 11:29), Greg Kroah-Hartman wrote: > > > We've identified 6.6.y stable commit e613904fa419 (usb: typec: ucsi: > > > Update power_supply on power role change) (commit 7616f006db07017 upstream) > > > as a root-cause of suspend failures on some of our laptops. It seems > > > that ucsi_port_psy_changed() causes: > > > > > > [ 309.858915] PM: last active wakeup source: ucsi-source-psy-cros_ec_ucsi.3.auto2 > > > [ 309.858917] PM: PM: Last active Wakeup Source: ucsi-source-psy-cros_ec_ucsi.3.auto2 > > > > > > which prevent laptop from entering suspend. Reverting the commit in > > > question fixes the issue. > > > > > > > Ok, and what should we do? > > I suppose what you usually do with stable regressions? Get the reporter to fix them, great! :) > > Is this issue also in 7.0.y? > > We don't have any boards on 7.0.y unfortunately. 6.6.y is the most recent > we use, but I'd expect 7.0 to regress as well. Wonderful, please send a revert for mainline and we will be glad to apply that and backport it properly to the needed stable kernels. thanks, greg k-h ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [stable 6.6.y] commit e613904fa419 causes suspend regression 2026-05-19 4:51 [stable 6.6.y] commit e613904fa419 causes suspend regression Sergey Senozhatsky 2026-05-19 9:29 ` Greg Kroah-Hartman @ 2026-05-19 12:01 ` Myrrh Periwinkle 2026-05-20 2:08 ` Sergey Senozhatsky 1 sibling, 1 reply; 6+ messages in thread From: Myrrh Periwinkle @ 2026-05-19 12:01 UTC (permalink / raw) To: Sergey Senozhatsky, Heikki Krogerus, Greg Kroah-Hartman Cc: stable, linux-usb, linux-kernel (re-sending as text/plain as the previous one got rejected by the mailing list) Hello, On 5/19/26 11:51 AM, Sergey Senozhatsky wrote: > Hi, > > We've identified 6.6.y stable commit e613904fa419 (usb: typec: ucsi: > Update power_supply on power role change) (commit 7616f006db07017 upstream) > as a root-cause of suspend failures on some of our laptops. It seems > that ucsi_port_psy_changed() causes: > > [ 309.858915] PM: last active wakeup source: ucsi-source-psy-cros_ec_ucsi.3.auto2 > [ 309.858917] PM: PM: Last active Wakeup Source: ucsi-source-psy-cros_ec_ucsi.3.auto2 > > which prevent laptop from entering suspend. Reverting the commit in > question fixes the issue. Can you check if this patch series fixes your issue? https://lore.kernel.org/all/20260519-ucsi-fix-2-v1-0-6f1239535187@qtmlabs.xyz/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [stable 6.6.y] commit e613904fa419 causes suspend regression 2026-05-19 12:01 ` Myrrh Periwinkle @ 2026-05-20 2:08 ` Sergey Senozhatsky 0 siblings, 0 replies; 6+ messages in thread From: Sergey Senozhatsky @ 2026-05-20 2:08 UTC (permalink / raw) To: Myrrh Periwinkle Cc: Sergey Senozhatsky, Heikki Krogerus, Greg Kroah-Hartman, stable, linux-usb, linux-kernel Hi Myrrh, On (26/05/19 19:01), Myrrh Periwinkle wrote: > (re-sending as text/plain as the previous one got rejected by the mailing > list) > > Hello, > > On 5/19/26 11:51 AM, Sergey Senozhatsky wrote: > > Hi, > > > > We've identified 6.6.y stable commit e613904fa419 (usb: typec: ucsi: > > Update power_supply on power role change) (commit 7616f006db07017 upstream) > > as a root-cause of suspend failures on some of our laptops. It seems > > that ucsi_port_psy_changed() causes: > > > > [ 309.858915] PM: last active wakeup source: ucsi-source-psy-cros_ec_ucsi.3.auto2 > > [ 309.858917] PM: PM: Last active Wakeup Source: ucsi-source-psy-cros_ec_ucsi.3.auto2 > > > > which prevent laptop from entering suspend. Reverting the commit in > > question fixes the issue. > > Can you check if this patch series fixes your issue? https://lore.kernel.org/all/20260519-ucsi-fix-2-v1-0-6f1239535187@qtmlabs.xyz/ Sure, thanks a ton for the patches! I backported them to 6.6.y --- drivers/usb/typec/ucsi/ucsi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c index 2eeace0f2450f..27d92eff84b89 100644 --- a/drivers/usb/typec/ucsi/ucsi.c +++ b/drivers/usb/typec/ucsi/ucsi.c @@ -1224,12 +1224,14 @@ static void ucsi_handle_connector_change(struct work_struct *work) struct ucsi_connector *con = container_of(work, struct ucsi_connector, work); struct ucsi *ucsi = con->ucsi; - enum typec_role role; + enum typec_role role, prev_role; u64 command; int ret; mutex_lock(&con->lock); + prev_role = !!(con->status.flags & UCSI_CONSTAT_PWR_DIR); + command = UCSI_GET_CONNECTOR_STATUS | UCSI_CONNECTOR_NUMBER(con->num); ret = ucsi_send_command_common(ucsi, command, &con->status, @@ -1248,7 +1250,7 @@ static void ucsi_handle_connector_change(struct work_struct *work) role = !!(con->status.flags & UCSI_CONSTAT_PWR_DIR); - if (con->status.change & UCSI_CONSTAT_POWER_DIR_CHANGE) { + if ((con->status.change & UCSI_CONSTAT_POWER_DIR_CHANGE) && role != prev_role) { typec_set_pwr_role(con->port, role); ucsi_port_psy_changed(con); -- 2.54.0.631.ge1b05301d1-goog and --- drivers/usb/typec/ucsi/ucsi.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/usb/typec/ucsi/ucsi.c b/drivers/usb/typec/ucsi/ucsi.c index 27d92eff84b89..a2d2098925a7f 100644 --- a/drivers/usb/typec/ucsi/ucsi.c +++ b/drivers/usb/typec/ucsi/ucsi.c @@ -1252,7 +1252,12 @@ static void ucsi_handle_connector_change(struct work_struct *work) if ((con->status.change & UCSI_CONSTAT_POWER_DIR_CHANGE) && role != prev_role) { typec_set_pwr_role(con->port, role); - ucsi_port_psy_changed(con); + + /* Some power_supply properties vary depending on the power direction when + * connected + */ + if (con->status.flags & UCSI_CONSTAT_CONNECTED) + ucsi_port_psy_changed(con); /* Complete pending power role swap */ if (!completion_done(&con->complete)) -- 2.54.0.631.ge1b05301d1-goog I started the tests, need prob around a day or so to verify. ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-05-20 2:08 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-05-19 4:51 [stable 6.6.y] commit e613904fa419 causes suspend regression Sergey Senozhatsky 2026-05-19 9:29 ` Greg Kroah-Hartman 2026-05-19 9:44 ` Sergey Senozhatsky 2026-05-19 9:51 ` Greg Kroah-Hartman 2026-05-19 12:01 ` Myrrh Periwinkle 2026-05-20 2:08 ` Sergey Senozhatsky
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox