* [PATCH] thunderbolt: Fix a logic error in wake on connect @ 2025-04-11 15:14 Mario Limonciello 2025-04-11 15:20 ` Greg KH ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Mario Limonciello @ 2025-04-11 15:14 UTC (permalink / raw) To: mario.limonciello, andreas.noever, michael.jamet, westeri, YehezkelShB, rajat.khandelwal Cc: mika.westerberg, linux-usb From: Mario Limonciello <mario.limonciello@amd.com> commit a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect on USB4 ports") introduced a sysfs file to control wake up policy for a given USB4 port that defaulted to disabled. However when testing commit 4bfeea6ec1c02 ("thunderbolt: Use wake on connect and disconnect over suspend") I found that it was working even without making changes to the power/wakeup file (which defaults to disabled). This is because of a logic error doing a bitwise or of the wake-on-connect flag with device_may_wakeup() which should have been a logical AND. Adjust the logic so that policy is only applied when wakeup is actually enabled. Fixes: a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect on USB4 ports") Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> --- drivers/thunderbolt/usb4.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/thunderbolt/usb4.c b/drivers/thunderbolt/usb4.c index e51d01671d8e7..3e96f1afd4268 100644 --- a/drivers/thunderbolt/usb4.c +++ b/drivers/thunderbolt/usb4.c @@ -440,10 +440,10 @@ int usb4_switch_set_wake(struct tb_switch *sw, unsigned int flags) bool configured = val & PORT_CS_19_PC; usb4 = port->usb4; - if (((flags & TB_WAKE_ON_CONNECT) | + if (((flags & TB_WAKE_ON_CONNECT) && device_may_wakeup(&usb4->dev)) && !configured) val |= PORT_CS_19_WOC; - if (((flags & TB_WAKE_ON_DISCONNECT) | + if (((flags & TB_WAKE_ON_DISCONNECT) && device_may_wakeup(&usb4->dev)) && configured) val |= PORT_CS_19_WOD; if ((flags & TB_WAKE_ON_USB4) && configured) -- 2.43.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] thunderbolt: Fix a logic error in wake on connect 2025-04-11 15:14 [PATCH] thunderbolt: Fix a logic error in wake on connect Mario Limonciello @ 2025-04-11 15:20 ` Greg KH 2025-04-16 12:37 ` Mika Westerberg 2025-06-29 17:52 ` [REGRESSION] " Alyssa Ross 2 siblings, 0 replies; 11+ messages in thread From: Greg KH @ 2025-04-11 15:20 UTC (permalink / raw) To: Mario Limonciello Cc: mario.limonciello, andreas.noever, michael.jamet, westeri, YehezkelShB, rajat.khandelwal, mika.westerberg, linux-usb On Fri, Apr 11, 2025 at 10:14:44AM -0500, Mario Limonciello wrote: > From: Mario Limonciello <mario.limonciello@amd.com> > > commit a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect > on USB4 ports") introduced a sysfs file to control wake up policy > for a given USB4 port that defaulted to disabled. > > However when testing commit 4bfeea6ec1c02 ("thunderbolt: Use wake > on connect and disconnect over suspend") I found that it was working > even without making changes to the power/wakeup file (which defaults > to disabled). This is because of a logic error doing a bitwise or > of the wake-on-connect flag with device_may_wakeup() which should > have been a logical AND. > > Adjust the logic so that policy is only applied when wakeup is > actually enabled. > > Fixes: a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect on USB4 ports") > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > --- > drivers/thunderbolt/usb4.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Hi, This is the friendly patch-bot of Greg Kroah-Hartman. You have sent him a patch that has triggered this response. He used to manually respond to these common problems, but in order to save his sanity (he kept writing the same thing over and over, yet to different people), I was created. Hopefully you will not take offence and will fix the problem in your patch and resubmit it so that it can be accepted into the Linux kernel tree. You are receiving this message because of the following common error(s) as indicated below: - You have marked a patch with a "Fixes:" tag for a commit that is in an older released kernel, yet you do not have a cc: stable line in the signed-off-by area at all, which means that the patch will not be applied to any older kernel releases. To properly fix this, please follow the documented rules in the Documentation/process/stable-kernel-rules.rst file for how to resolve this. If you wish to discuss this problem further, or you have questions about how to resolve this issue, please feel free to respond to this email and Greg will reply once he has dug out from the pending patches received from other developers. thanks, greg k-h's patch email bot ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] thunderbolt: Fix a logic error in wake on connect 2025-04-11 15:14 [PATCH] thunderbolt: Fix a logic error in wake on connect Mario Limonciello 2025-04-11 15:20 ` Greg KH @ 2025-04-16 12:37 ` Mika Westerberg 2025-04-16 13:27 ` Mario Limonciello 2025-06-29 17:52 ` [REGRESSION] " Alyssa Ross 2 siblings, 1 reply; 11+ messages in thread From: Mika Westerberg @ 2025-04-16 12:37 UTC (permalink / raw) To: Mario Limonciello Cc: mario.limonciello, andreas.noever, michael.jamet, westeri, YehezkelShB, rajat.khandelwal, linux-usb On Fri, Apr 11, 2025 at 10:14:44AM -0500, Mario Limonciello wrote: > From: Mario Limonciello <mario.limonciello@amd.com> > > commit a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect > on USB4 ports") introduced a sysfs file to control wake up policy > for a given USB4 port that defaulted to disabled. > > However when testing commit 4bfeea6ec1c02 ("thunderbolt: Use wake > on connect and disconnect over suspend") I found that it was working > even without making changes to the power/wakeup file (which defaults > to disabled). This is because of a logic error doing a bitwise or > of the wake-on-connect flag with device_may_wakeup() which should > have been a logical AND. > > Adjust the logic so that policy is only applied when wakeup is > actually enabled. > > Fixes: a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect on USB4 ports") > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> I guess the offending commit was never even tested :( Applied to thunderbolt.git/next thanks! ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] thunderbolt: Fix a logic error in wake on connect 2025-04-16 12:37 ` Mika Westerberg @ 2025-04-16 13:27 ` Mario Limonciello 2025-04-16 16:23 ` Mika Westerberg 0 siblings, 1 reply; 11+ messages in thread From: Mario Limonciello @ 2025-04-16 13:27 UTC (permalink / raw) To: Mika Westerberg Cc: mario.limonciello, andreas.noever, michael.jamet, westeri, YehezkelShB, rajat.khandelwal, linux-usb On 4/16/2025 7:37 AM, Mika Westerberg wrote: > On Fri, Apr 11, 2025 at 10:14:44AM -0500, Mario Limonciello wrote: >> From: Mario Limonciello <mario.limonciello@amd.com> >> >> commit a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect >> on USB4 ports") introduced a sysfs file to control wake up policy >> for a given USB4 port that defaulted to disabled. >> >> However when testing commit 4bfeea6ec1c02 ("thunderbolt: Use wake >> on connect and disconnect over suspend") I found that it was working >> even without making changes to the power/wakeup file (which defaults >> to disabled). This is because of a logic error doing a bitwise or >> of the wake-on-connect flag with device_may_wakeup() which should >> have been a logical AND. >> >> Adjust the logic so that policy is only applied when wakeup is >> actually enabled. >> >> Fixes: a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect on USB4 ports") >> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > > I guess the offending commit was never even tested :( > Yeah that is my only explanation too. So now this begs the question do we do the 3rd step that we set all the ports to 'enabled' by default? > Applied to thunderbolt.git/next thanks! Thanks! ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] thunderbolt: Fix a logic error in wake on connect 2025-04-16 13:27 ` Mario Limonciello @ 2025-04-16 16:23 ` Mika Westerberg 0 siblings, 0 replies; 11+ messages in thread From: Mika Westerberg @ 2025-04-16 16:23 UTC (permalink / raw) To: Mario Limonciello Cc: mario.limonciello, andreas.noever, michael.jamet, westeri, YehezkelShB, rajat.khandelwal, linux-usb On Wed, Apr 16, 2025 at 08:27:10AM -0500, Mario Limonciello wrote: > On 4/16/2025 7:37 AM, Mika Westerberg wrote: > > On Fri, Apr 11, 2025 at 10:14:44AM -0500, Mario Limonciello wrote: > > > From: Mario Limonciello <mario.limonciello@amd.com> > > > > > > commit a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect > > > on USB4 ports") introduced a sysfs file to control wake up policy > > > for a given USB4 port that defaulted to disabled. > > > > > > However when testing commit 4bfeea6ec1c02 ("thunderbolt: Use wake > > > on connect and disconnect over suspend") I found that it was working > > > even without making changes to the power/wakeup file (which defaults > > > to disabled). This is because of a logic error doing a bitwise or > > > of the wake-on-connect flag with device_may_wakeup() which should > > > have been a logical AND. > > > > > > Adjust the logic so that policy is only applied when wakeup is > > > actually enabled. > > > > > > Fixes: a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect on USB4 ports") > > > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > > > > I guess the offending commit was never even tested :( > > > > Yeah that is my only explanation too. So now this begs the question do we > do the 3rd step that we set all the ports to 'enabled' by default? No we don't. That needs the userspace that can do dark resume and we cannot assume it by default. ^ permalink raw reply [flat|nested] 11+ messages in thread
* [REGRESSION] thunderbolt: Fix a logic error in wake on connect 2025-04-11 15:14 [PATCH] thunderbolt: Fix a logic error in wake on connect Mario Limonciello 2025-04-11 15:20 ` Greg KH 2025-04-16 12:37 ` Mika Westerberg @ 2025-06-29 17:52 ` Alyssa Ross 2025-06-30 11:32 ` Alyssa Ross 2 siblings, 1 reply; 11+ messages in thread From: Alyssa Ross @ 2025-06-29 17:52 UTC (permalink / raw) To: Mario Limonciello Cc: mario.limonciello, andreas.noever, michael.jamet, westeri, YehezkelShB, rajat.khandelwal, mika.westerberg, linux-usb, regressions, kim.lindberger, linux, Sasha Levin, stable, Greg Kroah-Hartman [-- Attachment #1: Type: text/plain, Size: 2282 bytes --] On Fri, Apr 11, 2025 at 10:14:44AM -0500, Mario Limonciello wrote: > From: Mario Limonciello <mario.limonciello@amd.com> > > commit a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect > on USB4 ports") introduced a sysfs file to control wake up policy > for a given USB4 port that defaulted to disabled. > > However when testing commit 4bfeea6ec1c02 ("thunderbolt: Use wake > on connect and disconnect over suspend") I found that it was working > even without making changes to the power/wakeup file (which defaults > to disabled). This is because of a logic error doing a bitwise or > of the wake-on-connect flag with device_may_wakeup() which should > have been a logical AND. > > Adjust the logic so that policy is only applied when wakeup is > actually enabled. > > Fixes: a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect on USB4 ports") > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Hi! There have been a couple of reports of a Thunderbolt regression in recent stable kernels, and one reporter has now bisected it to this change: • https://bugzilla.kernel.org/show_bug.cgi?id=220284 • https://github.com/NixOS/nixpkgs/issues/420730 Both reporters are CCed, and say it starts working after the module is reloaded. Link: https://lore.kernel.org/r/bug-220284-208809@https.bugzilla.kernel.org%2F/ (for regzbot) > --- > drivers/thunderbolt/usb4.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/thunderbolt/usb4.c b/drivers/thunderbolt/usb4.c > index e51d01671d8e7..3e96f1afd4268 100644 > --- a/drivers/thunderbolt/usb4.c > +++ b/drivers/thunderbolt/usb4.c > @@ -440,10 +440,10 @@ int usb4_switch_set_wake(struct tb_switch *sw, unsigned int flags) > bool configured = val & PORT_CS_19_PC; > usb4 = port->usb4; > > - if (((flags & TB_WAKE_ON_CONNECT) | > + if (((flags & TB_WAKE_ON_CONNECT) && > device_may_wakeup(&usb4->dev)) && !configured) > val |= PORT_CS_19_WOC; > - if (((flags & TB_WAKE_ON_DISCONNECT) | > + if (((flags & TB_WAKE_ON_DISCONNECT) && > device_may_wakeup(&usb4->dev)) && configured) > val |= PORT_CS_19_WOD; > if ((flags & TB_WAKE_ON_USB4) && configured) > -- > 2.43.0 > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [REGRESSION] thunderbolt: Fix a logic error in wake on connect 2025-06-29 17:52 ` [REGRESSION] " Alyssa Ross @ 2025-06-30 11:32 ` Alyssa Ross 2025-07-06 14:46 ` Mario Limonciello 0 siblings, 1 reply; 11+ messages in thread From: Alyssa Ross @ 2025-06-30 11:32 UTC (permalink / raw) To: regressions Cc: mario.limonciello, andreas.noever, michael.jamet, westeri, YehezkelShB, rajat.khandelwal, mika.westerberg, linux-usb, kim.lindberger, linux, Sasha Levin, stable, Greg Kroah-Hartman, Mario Limonciello [-- Attachment #1: Type: text/plain, Size: 1887 bytes --] Alyssa Ross <hi@alyssa.is> writes: > On Fri, Apr 11, 2025 at 10:14:44AM -0500, Mario Limonciello wrote: >> From: Mario Limonciello <mario.limonciello@amd.com> >> >> commit a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect >> on USB4 ports") introduced a sysfs file to control wake up policy >> for a given USB4 port that defaulted to disabled. >> >> However when testing commit 4bfeea6ec1c02 ("thunderbolt: Use wake >> on connect and disconnect over suspend") I found that it was working >> even without making changes to the power/wakeup file (which defaults >> to disabled). This is because of a logic error doing a bitwise or >> of the wake-on-connect flag with device_may_wakeup() which should >> have been a logical AND. >> >> Adjust the logic so that policy is only applied when wakeup is >> actually enabled. >> >> Fixes: a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect on USB4 ports") >> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > > Hi! There have been a couple of reports of a Thunderbolt regression in > recent stable kernels, and one reporter has now bisected it to this > change: > > • https://bugzilla.kernel.org/show_bug.cgi?id=220284 > • https://github.com/NixOS/nixpkgs/issues/420730 > > Both reporters are CCed, and say it starts working after the module is > reloaded. > > Link: https://lore.kernel.org/r/bug-220284-208809@https.bugzilla.kernel.org%2F/ > (for regzbot) Apparently[1] fixed by the first linked patch below, which is currently in the Thunderbolt tree waiting to be pulled into the USB tree. #regzbot monitor: https://lore.kernel.org/linux-usb/20250619213840.2388646-1-superm1@kernel.org/ #regzbot monitor: https://lore.kernel.org/linux-usb/20250626154009.GK2824380@black.fi.intel.com/ [1]: https://github.com/NixOS/nixpkgs/issues/420730#issuecomment-3018563631 [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 227 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [REGRESSION] thunderbolt: Fix a logic error in wake on connect 2025-06-30 11:32 ` Alyssa Ross @ 2025-07-06 14:46 ` Mario Limonciello 2025-07-07 7:57 ` Greg Kroah-Hartman 0 siblings, 1 reply; 11+ messages in thread From: Mario Limonciello @ 2025-07-06 14:46 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: mario.limonciello, andreas.noever, michael.jamet, westeri, YehezkelShB, rajat.khandelwal, mika.westerberg, linux-usb, kim.lindberger, linux, Sasha Levin, stable, Alyssa Ross, regressions On 6/30/25 07:32, Alyssa Ross wrote: > Alyssa Ross <hi@alyssa.is> writes: > >> On Fri, Apr 11, 2025 at 10:14:44AM -0500, Mario Limonciello wrote: >>> From: Mario Limonciello <mario.limonciello@amd.com> >>> >>> commit a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect >>> on USB4 ports") introduced a sysfs file to control wake up policy >>> for a given USB4 port that defaulted to disabled. >>> >>> However when testing commit 4bfeea6ec1c02 ("thunderbolt: Use wake >>> on connect and disconnect over suspend") I found that it was working >>> even without making changes to the power/wakeup file (which defaults >>> to disabled). This is because of a logic error doing a bitwise or >>> of the wake-on-connect flag with device_may_wakeup() which should >>> have been a logical AND. >>> >>> Adjust the logic so that policy is only applied when wakeup is >>> actually enabled. >>> >>> Fixes: a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect on USB4 ports") >>> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> >> >> Hi! There have been a couple of reports of a Thunderbolt regression in >> recent stable kernels, and one reporter has now bisected it to this >> change: >> >> • https://bugzilla.kernel.org/show_bug.cgi?id=220284 >> • https://github.com/NixOS/nixpkgs/issues/420730 >> >> Both reporters are CCed, and say it starts working after the module is >> reloaded. >> >> Link: https://lore.kernel.org/r/bug-220284-208809@https.bugzilla.kernel.org%2F/ >> (for regzbot) > > Apparently[1] fixed by the first linked patch below, which is currently in > the Thunderbolt tree waiting to be pulled into the USB tree. > > #regzbot monitor: https://lore.kernel.org/linux-usb/20250619213840.2388646-1-superm1@kernel.org/ > #regzbot monitor: https://lore.kernel.org/linux-usb/20250626154009.GK2824380@black.fi.intel.com/ > > [1]: https://github.com/NixOS/nixpkgs/issues/420730#issuecomment-3018563631 Hey Greg, Can you pick up the pull request from Mika from a week and a half ago with this fix for the next 6.16-rc? https://lore.kernel.org/linux-usb/20250626154009.GK2824380@black.fi.intel.com/ Thanks, ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [REGRESSION] thunderbolt: Fix a logic error in wake on connect 2025-07-06 14:46 ` Mario Limonciello @ 2025-07-07 7:57 ` Greg Kroah-Hartman 2025-07-14 16:35 ` Mario Limonciello 0 siblings, 1 reply; 11+ messages in thread From: Greg Kroah-Hartman @ 2025-07-07 7:57 UTC (permalink / raw) To: Mario Limonciello Cc: mario.limonciello, andreas.noever, michael.jamet, westeri, YehezkelShB, rajat.khandelwal, mika.westerberg, linux-usb, kim.lindberger, linux, Sasha Levin, stable, Alyssa Ross, regressions On Sun, Jul 06, 2025 at 10:46:53AM -0400, Mario Limonciello wrote: > On 6/30/25 07:32, Alyssa Ross wrote: > > Alyssa Ross <hi@alyssa.is> writes: > > > > > On Fri, Apr 11, 2025 at 10:14:44AM -0500, Mario Limonciello wrote: > > > > From: Mario Limonciello <mario.limonciello@amd.com> > > > > > > > > commit a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect > > > > on USB4 ports") introduced a sysfs file to control wake up policy > > > > for a given USB4 port that defaulted to disabled. > > > > > > > > However when testing commit 4bfeea6ec1c02 ("thunderbolt: Use wake > > > > on connect and disconnect over suspend") I found that it was working > > > > even without making changes to the power/wakeup file (which defaults > > > > to disabled). This is because of a logic error doing a bitwise or > > > > of the wake-on-connect flag with device_may_wakeup() which should > > > > have been a logical AND. > > > > > > > > Adjust the logic so that policy is only applied when wakeup is > > > > actually enabled. > > > > > > > > Fixes: a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect on USB4 ports") > > > > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > > > > > > Hi! There have been a couple of reports of a Thunderbolt regression in > > > recent stable kernels, and one reporter has now bisected it to this > > > change: > > > > > > • https://bugzilla.kernel.org/show_bug.cgi?id=220284 > > > • https://github.com/NixOS/nixpkgs/issues/420730 > > > > > > Both reporters are CCed, and say it starts working after the module is > > > reloaded. > > > > > > Link: https://lore.kernel.org/r/bug-220284-208809@https.bugzilla.kernel.org%2F/ > > > (for regzbot) > > > > Apparently[1] fixed by the first linked patch below, which is currently in > > the Thunderbolt tree waiting to be pulled into the USB tree. > > > > #regzbot monitor: https://lore.kernel.org/linux-usb/20250619213840.2388646-1-superm1@kernel.org/ > > #regzbot monitor: https://lore.kernel.org/linux-usb/20250626154009.GK2824380@black.fi.intel.com/ > > > > [1]: https://github.com/NixOS/nixpkgs/issues/420730#issuecomment-3018563631 > > Hey Greg, > > Can you pick up the pull request from Mika from a week and a half ago with > this fix for the next 6.16-rc? > > https://lore.kernel.org/linux-usb/20250626154009.GK2824380@black.fi.intel.com/ Yes, I was waiting for this last round to go to Linus as the pull request was made against a newer version of Linus's tree than I currently had in my "for linus" branch. I'll go get to that later today. thanks, greg k-h ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [REGRESSION] thunderbolt: Fix a logic error in wake on connect 2025-07-07 7:57 ` Greg Kroah-Hartman @ 2025-07-14 16:35 ` Mario Limonciello 2025-07-15 5:56 ` Greg Kroah-Hartman 0 siblings, 1 reply; 11+ messages in thread From: Mario Limonciello @ 2025-07-14 16:35 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: mario.limonciello, andreas.noever, michael.jamet, westeri, YehezkelShB, rajat.khandelwal, mika.westerberg, linux-usb, kim.lindberger, linux, Sasha Levin, stable, Alyssa Ross, regressions On 7/7/25 2:57 AM, Greg Kroah-Hartman wrote: > On Sun, Jul 06, 2025 at 10:46:53AM -0400, Mario Limonciello wrote: >> On 6/30/25 07:32, Alyssa Ross wrote: >>> Alyssa Ross <hi@alyssa.is> writes: >>> >>>> On Fri, Apr 11, 2025 at 10:14:44AM -0500, Mario Limonciello wrote: >>>>> From: Mario Limonciello <mario.limonciello@amd.com> >>>>> >>>>> commit a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect >>>>> on USB4 ports") introduced a sysfs file to control wake up policy >>>>> for a given USB4 port that defaulted to disabled. >>>>> >>>>> However when testing commit 4bfeea6ec1c02 ("thunderbolt: Use wake >>>>> on connect and disconnect over suspend") I found that it was working >>>>> even without making changes to the power/wakeup file (which defaults >>>>> to disabled). This is because of a logic error doing a bitwise or >>>>> of the wake-on-connect flag with device_may_wakeup() which should >>>>> have been a logical AND. >>>>> >>>>> Adjust the logic so that policy is only applied when wakeup is >>>>> actually enabled. >>>>> >>>>> Fixes: a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect on USB4 ports") >>>>> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> >>>> >>>> Hi! There have been a couple of reports of a Thunderbolt regression in >>>> recent stable kernels, and one reporter has now bisected it to this >>>> change: >>>> >>>> • https://bugzilla.kernel.org/show_bug.cgi?id=220284 >>>> • https://github.com/NixOS/nixpkgs/issues/420730 >>>> >>>> Both reporters are CCed, and say it starts working after the module is >>>> reloaded. >>>> >>>> Link: https://lore.kernel.org/r/bug-220284-208809@https.bugzilla.kernel.org%2F/ >>>> (for regzbot) >>> >>> Apparently[1] fixed by the first linked patch below, which is currently in >>> the Thunderbolt tree waiting to be pulled into the USB tree. >>> >>> #regzbot monitor: https://lore.kernel.org/linux-usb/20250619213840.2388646-1-superm1@kernel.org/ >>> #regzbot monitor: https://lore.kernel.org/linux-usb/20250626154009.GK2824380@black.fi.intel.com/ >>> >>> [1]: https://github.com/NixOS/nixpkgs/issues/420730#issuecomment-3018563631 >> >> Hey Greg, >> >> Can you pick up the pull request from Mika from a week and a half ago with >> this fix for the next 6.16-rc? >> >> https://lore.kernel.org/linux-usb/20250626154009.GK2824380@black.fi.intel.com/ > > Yes, I was waiting for this last round to go to Linus as the pull > request was made against a newer version of Linus's tree than I > currently had in my "for linus" branch. I'll go get to that later > today. > > thanks, > > greg k-h > Greg, Sorry to be a bugger, but I was surprised I didn't see this come in -rc6 this week, and I went and double checked your "usb-linus" branch [1] and didn't see it there. Thanks, [1] https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/log/?h=usb-linus ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [REGRESSION] thunderbolt: Fix a logic error in wake on connect 2025-07-14 16:35 ` Mario Limonciello @ 2025-07-15 5:56 ` Greg Kroah-Hartman 0 siblings, 0 replies; 11+ messages in thread From: Greg Kroah-Hartman @ 2025-07-15 5:56 UTC (permalink / raw) To: Mario Limonciello Cc: mario.limonciello, andreas.noever, michael.jamet, westeri, YehezkelShB, rajat.khandelwal, mika.westerberg, linux-usb, kim.lindberger, linux, Sasha Levin, stable, Alyssa Ross, regressions On Mon, Jul 14, 2025 at 11:35:39AM -0500, Mario Limonciello wrote: > On 7/7/25 2:57 AM, Greg Kroah-Hartman wrote: > > On Sun, Jul 06, 2025 at 10:46:53AM -0400, Mario Limonciello wrote: > > > On 6/30/25 07:32, Alyssa Ross wrote: > > > > Alyssa Ross <hi@alyssa.is> writes: > > > > > > > > > On Fri, Apr 11, 2025 at 10:14:44AM -0500, Mario Limonciello wrote: > > > > > > From: Mario Limonciello <mario.limonciello@amd.com> > > > > > > > > > > > > commit a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect > > > > > > on USB4 ports") introduced a sysfs file to control wake up policy > > > > > > for a given USB4 port that defaulted to disabled. > > > > > > > > > > > > However when testing commit 4bfeea6ec1c02 ("thunderbolt: Use wake > > > > > > on connect and disconnect over suspend") I found that it was working > > > > > > even without making changes to the power/wakeup file (which defaults > > > > > > to disabled). This is because of a logic error doing a bitwise or > > > > > > of the wake-on-connect flag with device_may_wakeup() which should > > > > > > have been a logical AND. > > > > > > > > > > > > Adjust the logic so that policy is only applied when wakeup is > > > > > > actually enabled. > > > > > > > > > > > > Fixes: a5cfc9d65879c ("thunderbolt: Add wake on connect/disconnect on USB4 ports") > > > > > > Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> > > > > > > > > > > Hi! There have been a couple of reports of a Thunderbolt regression in > > > > > recent stable kernels, and one reporter has now bisected it to this > > > > > change: > > > > > > > > > > • https://bugzilla.kernel.org/show_bug.cgi?id=220284 > > > > > • https://github.com/NixOS/nixpkgs/issues/420730 > > > > > > > > > > Both reporters are CCed, and say it starts working after the module is > > > > > reloaded. > > > > > > > > > > Link: https://lore.kernel.org/r/bug-220284-208809@https.bugzilla.kernel.org%2F/ > > > > > (for regzbot) > > > > > > > > Apparently[1] fixed by the first linked patch below, which is currently in > > > > the Thunderbolt tree waiting to be pulled into the USB tree. > > > > > > > > #regzbot monitor: https://lore.kernel.org/linux-usb/20250619213840.2388646-1-superm1@kernel.org/ > > > > #regzbot monitor: https://lore.kernel.org/linux-usb/20250626154009.GK2824380@black.fi.intel.com/ > > > > > > > > [1]: https://github.com/NixOS/nixpkgs/issues/420730#issuecomment-3018563631 > > > > > > Hey Greg, > > > > > > Can you pick up the pull request from Mika from a week and a half ago with > > > this fix for the next 6.16-rc? > > > > > > https://lore.kernel.org/linux-usb/20250626154009.GK2824380@black.fi.intel.com/ > > > > Yes, I was waiting for this last round to go to Linus as the pull > > request was made against a newer version of Linus's tree than I > > currently had in my "for linus" branch. I'll go get to that later > > today. > > > > thanks, > > > > greg k-h > > > > Greg, > > Sorry to be a bugger, but I was surprised I didn't see this come in -rc6 > this week, and I went and double checked your "usb-linus" branch [1] and > didn't see it there. > > Thanks, > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/log/?h=usb-linus It's in there: $ git lg main..usb-linus * cd0f8649d0e1 - (HEAD -> usb-linus, origin/usb-linus, kroah.org/usb-linus, work-linus) Merge tag 'usb-serial-6.16-rc6' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus (6 days ago) <Greg Kroah-Hartman> |\ | * 08f49cdb71f3 - USB: serial: option: add Foxconn T99W640 (3 weeks ago) <Slark Xiao> * 3014168731b7 - usb: gadget: configfs: Fix OOB read on empty string write (6 days ago) <Xinyu Liu> * 67a59f82196c - usb: musb: fix gadget state on disconnect (8 days ago) <Drew Hamilton> * 9fccced2d25b - Merge tag 'thunderbolt-for-v6.16-rc4' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt into usb-linus (8 days ago) <Greg Kroah-Hartman> * 2cdde91c14ec - thunderbolt: Fix bit masking in tb_dp_port_set_hops() (3 weeks ago) <Alok Tiwari> * 58d71d4242ce - thunderbolt: Fix wake on connect at runtime (3 weeks ago) <Mario Limonciello> I'll get this to Linus for the next -rc. thanks, greg k-h ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2025-07-15 5:56 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-04-11 15:14 [PATCH] thunderbolt: Fix a logic error in wake on connect Mario Limonciello 2025-04-11 15:20 ` Greg KH 2025-04-16 12:37 ` Mika Westerberg 2025-04-16 13:27 ` Mario Limonciello 2025-04-16 16:23 ` Mika Westerberg 2025-06-29 17:52 ` [REGRESSION] " Alyssa Ross 2025-06-30 11:32 ` Alyssa Ross 2025-07-06 14:46 ` Mario Limonciello 2025-07-07 7:57 ` Greg Kroah-Hartman 2025-07-14 16:35 ` Mario Limonciello 2025-07-15 5:56 ` Greg Kroah-Hartman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).