stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [REGRESSION] thunderbolt: Fix a logic error in wake on connect
       [not found] <20250411151446.4121877-1-superm1@kernel.org>
@ 2025-06-29 17:52 ` Alyssa Ross
  2025-06-30 11:32   ` Alyssa Ross
  2025-07-01  1:15 ` [PATCH] " Sasha Levin
  1 sibling, 1 reply; 7+ 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=220284https://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] 7+ messages in thread

* Re: [REGRESSION] thunderbolt: Fix a logic error in wake on connect
  2025-06-29 17:52 ` [REGRESSION] thunderbolt: Fix a logic error in wake on connect Alyssa Ross
@ 2025-06-30 11:32   ` Alyssa Ross
  2025-07-06 14:46     ` Mario Limonciello
  0 siblings, 1 reply; 7+ 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] 7+ messages in thread

* Re: [PATCH] thunderbolt: Fix a logic error in wake on connect
       [not found] <20250411151446.4121877-1-superm1@kernel.org>
  2025-06-29 17:52 ` [REGRESSION] thunderbolt: Fix a logic error in wake on connect Alyssa Ross
@ 2025-07-01  1:15 ` Sasha Levin
  1 sibling, 0 replies; 7+ messages in thread
From: Sasha Levin @ 2025-07-01  1:15 UTC (permalink / raw)
  To: stable, superm1; +Cc: Sasha Levin

[ Sasha's backport helper bot ]

Hi,

Summary of potential issues:
❌ Build failures detected
⚠️ Found matching upstream commit but patch is missing proper reference to it

Found matching upstream commit: 1a760d10ded372d113a0410c42be246315bbc2ff

WARNING: Author mismatch between patch and found commit:
Backport author: Mario Limonciello<superm1@kernel.org>
Commit author: Mario Limonciello<mario.limonciello@amd.com>

Note: The patch differs from the upstream commit:
---
1:  1a760d10ded37 < -:  ------------- thunderbolt: Fix a logic error in wake on connect
-:  ------------- > 1:  e60eb441596d1 Linux 6.15.4
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.15.y       |  Success    |  Success   |
| stable/linux-6.12.y       |  Success    |  Success   |
| stable/linux-6.6.y        |  Success    |  Success   |
| stable/linux-6.1.y        |  Success    |  Success   |
| stable/linux-5.15.y       |  Success    |  Success   |
| stable/linux-5.10.y       |  Success    |  Success   |
| stable/linux-5.4.y        |  Success    |  Failed    |

Build Errors:
Build error for stable/linux-5.4.y:
    arch/x86/entry/entry_64.o: warning: objtool: .entry.text+0x1e1: stack state mismatch: cfa1=7+56 cfa2=7+40
    arch/x86/kvm/vmx/vmenter.o: warning: objtool: __vmx_vcpu_run()+0x12a: return with modified stack frame
    In file included from ./include/linux/list.h:9,
                     from ./include/linux/kobject.h:19,
                     from ./include/linux/of.h:17,
                     from ./include/linux/clk-provider.h:9,
                     from drivers/clk/qcom/clk-rpmh.c:6:
    drivers/clk/qcom/clk-rpmh.c: In function 'clk_rpmh_bcm_send_cmd':
    ./include/linux/kernel.h:843:43: warning: comparison of distinct pointer types lacks a cast [-Wcompare-distinct-pointer-types]
      843 |                 (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
          |                                           ^~
    ./include/linux/kernel.h:857:18: note: in expansion of macro '__typecheck'
      857 |                 (__typecheck(x, y) && __no_side_effects(x, y))
          |                  ^~~~~~~~~~~
    ./include/linux/kernel.h:867:31: note: in expansion of macro '__safe_cmp'
      867 |         __builtin_choose_expr(__safe_cmp(x, y), \
          |                               ^~~~~~~~~~
    ./include/linux/kernel.h:876:25: note: in expansion of macro '__careful_cmp'
      876 | #define min(x, y)       __careful_cmp(x, y, <)
          |                         ^~~~~~~~~~~~~
    drivers/clk/qcom/clk-rpmh.c:273:21: note: in expansion of macro 'min'
      273 |         cmd_state = min(cmd_state, BCM_TCS_CMD_VOTE_MASK);
          |                     ^~~
    fs/xfs/libxfs/xfs_inode_fork.c: In function 'xfs_ifork_verify_attr':
    fs/xfs/libxfs/xfs_inode_fork.c:735:13: warning: the comparison will always evaluate as 'true' for the address of 'i_df' will never be NULL [-Waddress]
      735 |         if (!XFS_IFORK_PTR(ip, XFS_ATTR_FORK))
          |             ^
    In file included from fs/xfs/libxfs/xfs_inode_fork.c:14:
    ./fs/xfs/xfs_inode.h:38:33: note: 'i_df' declared here
       38 |         struct xfs_ifork        i_df;           /* data fork */
          |                                 ^~~~
    drivers/gpu/drm/i915/display/intel_dp.c: In function 'intel_dp_mode_valid':
    drivers/gpu/drm/i915/display/intel_dp.c:639:33: warning: 'drm_dp_dsc_sink_max_slice_count' reading 16 bytes from a region of size 0 [-Wstringop-overread]
      639 |                                 drm_dp_dsc_sink_max_slice_count(intel_dp->dsc_dpcd,
          |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      640 |                                                                 true);
          |                                                                 ~~~~~
    drivers/gpu/drm/i915/display/intel_dp.c:639:33: note: referencing argument 1 of type 'const u8[16]' {aka 'const unsigned char[16]'}
    In file included from drivers/gpu/drm/i915/display/intel_dp.c:39:
    ./include/drm/drm_dp_helper.h:1174:4: note: in a call to function 'drm_dp_dsc_sink_max_slice_count'
     1174 | u8 drm_dp_dsc_sink_max_slice_count(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE],
          |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    drivers/net/dsa/microchip/ksz9477.c: In function 'ksz9477_reset_switch':
    drivers/net/dsa/microchip/ksz9477.c:198:12: warning: unused variable 'data8' [-Wunused-variable]
      198 |         u8 data8;
          |            ^~~~~
    drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c: In function 'vmw_execbuf_process':
    drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c:3834:25: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
     3834 |                         struct seqno_waiter_rm_context *ctx =
          |                         ^~~~~~
    In file included from ./include/linux/bitops.h:5,
                     from ./include/linux/kernel.h:12,
                     from ./include/linux/list.h:9,
                     from ./include/linux/module.h:9,
                     from drivers/net/ethernet/qlogic/qed/qed_debug.c:6:
    drivers/net/ethernet/qlogic/qed/qed_debug.c: In function 'qed_grc_dump_addr_range':
    ./include/linux/bits.h:8:33: warning: overflow in conversion from 'long unsigned int' to 'u8' {aka 'unsigned char'} changes value from '(long unsigned int)((int)vf_id << 8 | 128)' to '128' [-Woverflow]
        8 | #define BIT(nr)                 (UL(1) << (nr))
          |                                 ^
    drivers/net/ethernet/qlogic/qed/qed_debug.c:2572:31: note: in expansion of macro 'BIT'
     2572 |                         fid = BIT(PXP_PRETEND_CONCRETE_FID_VFVALID_SHIFT) |
          |                               ^~~
    drivers/gpu/drm/nouveau/dispnv50/wndw.c:628:1: warning: conflicting types for 'nv50_wndw_new_' due to enum/integer mismatch; have 'int(const struct nv50_wndw_func *, struct drm_device *, enum drm_plane_type,  const char *, int,  const u32 *, u32,  enum nv50_disp_interlock_type,  u32,  struct nv50_wndw **)' {aka 'int(const struct nv50_wndw_func *, struct drm_device *, enum drm_plane_type,  const char *, int,  const unsigned int *, unsigned int,  enum nv50_disp_interlock_type,  unsigned int,  struct nv50_wndw **)'} [-Wenum-int-mismatch]
      628 | nv50_wndw_new_(const struct nv50_wndw_func *func, struct drm_device *dev,
          | ^~~~~~~~~~~~~~
    In file included from drivers/gpu/drm/nouveau/dispnv50/wndw.c:22:
    drivers/gpu/drm/nouveau/dispnv50/wndw.h:39:5: note: previous declaration of 'nv50_wndw_new_' with type 'int(const struct nv50_wndw_func *, struct drm_device *, enum drm_plane_type,  const char *, int,  const u32 *, enum nv50_disp_interlock_type,  u32,  u32,  struct nv50_wndw **)' {aka 'int(const struct nv50_wndw_func *, struct drm_device *, enum drm_plane_type,  const char *, int,  const unsigned int *, enum nv50_disp_interlock_type,  unsigned int,  unsigned int,  struct nv50_wndw **)'}
       39 | int nv50_wndw_new_(const struct nv50_wndw_func *, struct drm_device *,
          |     ^~~~~~~~~~~~~~
    client_loop: send disconnect: Broken pipe

^ permalink raw reply	[flat|nested] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ 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; 7+ 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] 7+ messages in thread

end of thread, other threads:[~2025-07-15  5:56 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20250411151446.4121877-1-superm1@kernel.org>
2025-06-29 17:52 ` [REGRESSION] thunderbolt: Fix a logic error in wake on connect 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
2025-07-01  1:15 ` [PATCH] " Sasha Levin

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