Linux USB
 help / color / mirror / Atom feed
* [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