stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Request to apply patches to v6.6 to fix thunderbolt issue
       [not found] <MW4PR84MB151669954C1D210A0FED92128D632@MW4PR84MB1516.NAMPRD84.PROD.OUTLOOK.COM>
@ 2024-09-19  8:38 ` Wan, Qin (Thin Client RnD)
  2024-09-19  9:04   ` Greg KH
  0 siblings, 1 reply; 4+ messages in thread
From: Wan, Qin (Thin Client RnD) @ 2024-09-19  8:38 UTC (permalink / raw)
  To: stable@vger.kernel.org; +Cc: Gagniuc, Alexandru

Hello,

   There is an issue found on v6.6.16: Plug in thunderbolt G4 dock with monitor connected after system boots up. The monitor shows nothing when wake up from S3 sometimes. The failure rate is above 50%.
   The kernel reports “UBSAN: shift-out-of-bounds in drivers/gpu/drm/display/drm_dp_mst_topology.c:4416:36”. The call stack is shown at the bottom of this email.
   This failure is fixed in v6.9-rc1. 
   We request to merge below commit to v6.6.

  6b8ac54f31f985d3abb0b4212187838dd8ea4227
 thunderbolt: Fix debug log when DisplayPort adapter not available for pairing

 fe8a0293c922ee8bc1ff0cf9048075afb264004a
 thunderbolt: Use tb_tunnel_dbg() where possible to make logging more consistent

 d27bd2c37d4666bce25ec4d9ac8c6b169992f0f0
 thunderbolt: Expose tb_tunnel_xxx() log macros to the rest of the driver

  8648c6465c025c488e2855c209c0dea1a1a15184
 thunderbolt: Create multiple DisplayPort tunnels if there are more DP IN/OUT pairs

 f73edddfa2a64a185c65a33f100778169c92fc25
 thunderbolt: Use constants for path weight and priority

  4d24db0c801461adeefd7e0bdc98c79c60ccefb0
  thunderbolt: Use weight constants in tb_usb3_consumed_bandwidth()

  aa673d606078da36ebc379f041c794228ac08cb5
  thunderbolt: Make is_gen4_link() available to the rest of the driver

  582e70b0d3a412d15389a3c9c07a44791b311715
   thunderbolt: Change bandwidth reservations to comply USB4 v2

   2bfeca73e94567c1a117ca45d2e8a25d63e5bd2c
 thunderbolt: Introduce tb_port_path_direction_downstream()
 
 956c3abe72fb6a651b8cf77c28462f7e5b6a48b1
 thunderbolt: Introduce tb_for_each_upstream_port_on_path()
 
 c4ff14436952c3d0dd05769d76cf48e73a253b48
 thunderbolt: Introduce tb_switch_depth()
 
 81af2952e60603d12415e1a6fd200f8073a2ad8b
 thunderbolt: Add support for asymmetric link
 
 3e36528c1127b20492ffaea53930bcc3df46a718
 thunderbolt: Configure asymmetric link if needed and bandwidth allows
 
 b4734507ac55cc7ea1380e20e83f60fcd7031955
 thunderbolt: Improve DisplayPort tunnel setup process to be more robust


 When failure happened, the kernel log reports
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414673] UBSAN: shift-out-of-bounds in drivers/gpu/drm/display/drm_dp_mst_topology.c:4416:36
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414674] shift exponent -1 is negative
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414675] CPU: 0 PID: 145 Comm: kworker/0:2 Tainted: G U 6.6.16 #108
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414677] Hardware name: HP HP Elite t660 Thin Client/8D05, BIOS W44 Ver. 00.14.00 07/19/2024
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414678] Workqueue: events output_poll_execute [drm_kms_helper]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414695] Call Trace:
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414697] <TASK>
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414698] dump_stack_lvl+0x48/0x70
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414703] dump_stack+0x10/0x20
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414705] __ubsan_handle_shift_out_of_bounds+0x156/0x310
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414708] ? krealloc+0x98/0x100
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414711] ? drm_atomic_get_private_obj_state+0x167/0x1a0 [drm]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414733] drm_dp_atomic_release_time_slots.cold+0x17/0x3d [drm_display_helper]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414743] intel_dp_mst_atomic_check+0x9a/0x170 [i915]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414831] drm_atomic_helper_check_modeset+0x4bb/0xe20 [drm_kms_helper]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414842] ? __kmem_cache_alloc_node+0x1b3/0x320
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414845] ? __ww_mutex_lock.constprop.0+0x39/0xa00
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414848] intel_atomic_check+0x113/0x2b50 [i915]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414936] drm_atomic_check_only+0x692/0xb80 [drm]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414956] drm_atomic_commit+0x57/0xd0 [drm]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414972] ? _pfx__drm_printfn_info+0x10/0x10 [drm]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.414999] drm_client_modeset_commit_atomic+0x1f1/0x230 [drm]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415019] drm_client_modeset_commit_locked+0x5b/0x170 [drm]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415038] ? mutex_lock+0x13/0x50
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415040] drm_client_modeset_commit+0x27/0x50 [drm]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415058] __drm_fb_helper_restore_fbdev_mode_unlocked+0xd2/0x100 [drm_kms_helper]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415068] drm_fb_helper_hotplug_event+0x11a/0x140 [drm_kms_helper]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415077] intel_fbdev_output_poll_changed+0x6f/0xb0 [i915]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415156] output_poll_execute+0x23e/0x290 [drm_kms_helper]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415166] ? intelfb_dirty+0x41/0x80 [i915]
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415236] process_one_work+0x178/0x360
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415238] ? __pfx_worker_thread+0x10/0x10
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415240] worker_thread+0x307/0x430
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415241] ? __pfx_worker_thread+0x10/0x10
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415242] kthread+0xf4/0x130
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415245] ? __pfx_kthread+0x10/0x10
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415247] ret_from_fork+0x43/0x70
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415249] ? __pfx_kthread+0x10/0x10
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415250] ret_from_fork_asm+0x1b/0x30
Sep 6 08:10:29 HP7c5758fc4d4f kernel: [ 89.415252] </TASK>

Thanks,
Wanqin
 

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

* Re: Request to apply patches to v6.6 to fix thunderbolt issue
  2024-09-19  8:38 ` Request to apply patches to v6.6 to fix thunderbolt issue Wan, Qin (Thin Client RnD)
@ 2024-09-19  9:04   ` Greg KH
  2024-09-26 19:35     ` Gagniuc, Alexandru
  0 siblings, 1 reply; 4+ messages in thread
From: Greg KH @ 2024-09-19  9:04 UTC (permalink / raw)
  To: Wan, Qin (Thin Client RnD); +Cc: stable@vger.kernel.org, Gagniuc, Alexandru

On Thu, Sep 19, 2024 at 08:38:52AM +0000, Wan, Qin (Thin Client RnD) wrote:
> Hello,
> 
>    There is an issue found on v6.6.16: Plug in thunderbolt G4 dock with monitor connected after system boots up. The monitor shows nothing when wake up from S3 sometimes. The failure rate is above 50%.
>    The kernel reports “UBSAN: shift-out-of-bounds in drivers/gpu/drm/display/drm_dp_mst_topology.c:4416:36”. The call stack is shown at the bottom of this email.
>    This failure is fixed in v6.9-rc1. 
>    We request to merge below commit to v6.6.
> 
>   6b8ac54f31f985d3abb0b4212187838dd8ea4227
>  thunderbolt: Fix debug log when DisplayPort adapter not available for pairing
> 
>  fe8a0293c922ee8bc1ff0cf9048075afb264004a
>  thunderbolt: Use tb_tunnel_dbg() where possible to make logging more consistent
> 
>  d27bd2c37d4666bce25ec4d9ac8c6b169992f0f0
>  thunderbolt: Expose tb_tunnel_xxx() log macros to the rest of the driver
> 
>   8648c6465c025c488e2855c209c0dea1a1a15184
>  thunderbolt: Create multiple DisplayPort tunnels if there are more DP IN/OUT pairs
> 
>  f73edddfa2a64a185c65a33f100778169c92fc25
>  thunderbolt: Use constants for path weight and priority
> 
>   4d24db0c801461adeefd7e0bdc98c79c60ccefb0
>   thunderbolt: Use weight constants in tb_usb3_consumed_bandwidth()
> 
>   aa673d606078da36ebc379f041c794228ac08cb5
>   thunderbolt: Make is_gen4_link() available to the rest of the driver
> 
>   582e70b0d3a412d15389a3c9c07a44791b311715
>    thunderbolt: Change bandwidth reservations to comply USB4 v2
> 
>    2bfeca73e94567c1a117ca45d2e8a25d63e5bd2c
>  thunderbolt: Introduce tb_port_path_direction_downstream()
>  
>  956c3abe72fb6a651b8cf77c28462f7e5b6a48b1
>  thunderbolt: Introduce tb_for_each_upstream_port_on_path()
>  
>  c4ff14436952c3d0dd05769d76cf48e73a253b48
>  thunderbolt: Introduce tb_switch_depth()
>  
>  81af2952e60603d12415e1a6fd200f8073a2ad8b
>  thunderbolt: Add support for asymmetric link
>  
>  3e36528c1127b20492ffaea53930bcc3df46a718
>  thunderbolt: Configure asymmetric link if needed and bandwidth allows
>  
>  b4734507ac55cc7ea1380e20e83f60fcd7031955
>  thunderbolt: Improve DisplayPort tunnel setup process to be more robust

Can you send these as a backported series with your signed-off-by to
show that you have tested these to verify that they work properly in the
6.6 kernel tree?  That will make them much easier to apply, and track
over time.

Also, you should cc: the relevant maintainers/developers of those
changes to allow them to comment if they should be backported or not.

thanks,

greg k-h

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

* Re: Request to apply patches to v6.6 to fix thunderbolt issue
  2024-09-19  9:04   ` Greg KH
@ 2024-09-26 19:35     ` Gagniuc, Alexandru
  2024-09-27  6:07       ` Greg KH
  0 siblings, 1 reply; 4+ messages in thread
From: Gagniuc, Alexandru @ 2024-09-26 19:35 UTC (permalink / raw)
  To: Greg KH; +Cc: stable@vger.kernel.org, qin.wan

On Thu, Sep 19, 2024 at 11:04:23AM +0200, Greg KH wrote:
> On Thu, Sep 19, 2024 at 08:38:52AM +0000, Wan, Qin (Thin Client RnD) wrote:
> > Hello,
> > 
> >    There is an issue found on v6.6.16: Plug in thunderbolt G4 dock with monitor connected after system boots up. The monitor shows nothing when wake up from S3 sometimes. The failure rate is above 50%.
> >    The kernel reports “UBSAN: shift-out-of-bounds in drivers/gpu/drm/display/drm_dp_mst_topology.c:4416:36”. The call stack is shown at the bottom of this email.
> >    This failure is fixed in v6.9-rc1. 
> >    We request to merge below commit to v6.6.
> > 
> >   6b8ac54f31f985d3abb0b4212187838dd8ea4227
> >  thunderbolt: Fix debug log when DisplayPort adapter not available for pairing
> > 
> >  fe8a0293c922ee8bc1ff0cf9048075afb264004a
> >  thunderbolt: Use tb_tunnel_dbg() where possible to make logging more consistent
> > 
> >  d27bd2c37d4666bce25ec4d9ac8c6b169992f0f0
> >  thunderbolt: Expose tb_tunnel_xxx() log macros to the rest of the driver
> > 
> >   8648c6465c025c488e2855c209c0dea1a1a15184
> >  thunderbolt: Create multiple DisplayPort tunnels if there are more DP IN/OUT pairs
> > 
> >  f73edddfa2a64a185c65a33f100778169c92fc25
> >  thunderbolt: Use constants for path weight and priority
> > 
> >   4d24db0c801461adeefd7e0bdc98c79c60ccefb0
> >   thunderbolt: Use weight constants in tb_usb3_consumed_bandwidth()
> > 
> >   aa673d606078da36ebc379f041c794228ac08cb5
> >   thunderbolt: Make is_gen4_link() available to the rest of the driver
> > 
> >   582e70b0d3a412d15389a3c9c07a44791b311715
> >    thunderbolt: Change bandwidth reservations to comply USB4 v2
> > 
> >    2bfeca73e94567c1a117ca45d2e8a25d63e5bd2c
> >  thunderbolt: Introduce tb_port_path_direction_downstream()
> >  
> >  956c3abe72fb6a651b8cf77c28462f7e5b6a48b1
> >  thunderbolt: Introduce tb_for_each_upstream_port_on_path()
> >  
> >  c4ff14436952c3d0dd05769d76cf48e73a253b48
> >  thunderbolt: Introduce tb_switch_depth()
> >  
> >  81af2952e60603d12415e1a6fd200f8073a2ad8b
> >  thunderbolt: Add support for asymmetric link
> >  
> >  3e36528c1127b20492ffaea53930bcc3df46a718
> >  thunderbolt: Configure asymmetric link if needed and bandwidth allows
> >  
> >  b4734507ac55cc7ea1380e20e83f60fcd7031955
> >  thunderbolt: Improve DisplayPort tunnel setup process to be more robust
> 
> Can you send these as a backported series with your signed-off-by to
> show that you have tested these to verify that they work properly in the
> 6.6 kernel tree?  That will make them much easier to apply, and track
> over time.
> 

We used the below command to apply the patches. Is this helpful, or is 
resubmitting the series still required? If so, what script do you use to add
the "upstream commit" lines to the commit message?

git cherry-pick 6b8ac54f31f9 fe8a0293c922 d27bd2c37d46 8648c6465c02 \
                f73edddfa2a6 4d24db0c8014 aa673d606078 582e70b0d3a4 \
                2bfeca73e945 956c3abe72fb c4ff14436952 81af2952e606 \
                3e36528c1127 b4734507ac55

It's commit 709f7c7172ae ("thunderbolt: Improve DisplayPort tunnel setup
process to be more robust") which solves the issue, and the pthers are
dependencies.

> Also, you should cc: the relevant maintainers/developers of those
> changes to allow them to comment if they should be backported or not.
> 
> thanks,
> 
> greg k-h
> 


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

* Re: Request to apply patches to v6.6 to fix thunderbolt issue
  2024-09-26 19:35     ` Gagniuc, Alexandru
@ 2024-09-27  6:07       ` Greg KH
  0 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2024-09-27  6:07 UTC (permalink / raw)
  To: Gagniuc, Alexandru; +Cc: stable@vger.kernel.org, qin.wan

On Thu, Sep 26, 2024 at 07:35:38PM +0000, Gagniuc, Alexandru wrote:
> On Thu, Sep 19, 2024 at 11:04:23AM +0200, Greg KH wrote:
> > On Thu, Sep 19, 2024 at 08:38:52AM +0000, Wan, Qin (Thin Client RnD) wrote:
> > > Hello,
> > > 
> > >    There is an issue found on v6.6.16: Plug in thunderbolt G4 dock with monitor connected after system boots up. The monitor shows nothing when wake up from S3 sometimes. The failure rate is above 50%.
> > >    The kernel reports “UBSAN: shift-out-of-bounds in drivers/gpu/drm/display/drm_dp_mst_topology.c:4416:36”. The call stack is shown at the bottom of this email.
> > >    This failure is fixed in v6.9-rc1. 
> > >    We request to merge below commit to v6.6.
> > > 
> > >   6b8ac54f31f985d3abb0b4212187838dd8ea4227
> > >  thunderbolt: Fix debug log when DisplayPort adapter not available for pairing
> > > 
> > >  fe8a0293c922ee8bc1ff0cf9048075afb264004a
> > >  thunderbolt: Use tb_tunnel_dbg() where possible to make logging more consistent
> > > 
> > >  d27bd2c37d4666bce25ec4d9ac8c6b169992f0f0
> > >  thunderbolt: Expose tb_tunnel_xxx() log macros to the rest of the driver
> > > 
> > >   8648c6465c025c488e2855c209c0dea1a1a15184
> > >  thunderbolt: Create multiple DisplayPort tunnels if there are more DP IN/OUT pairs
> > > 
> > >  f73edddfa2a64a185c65a33f100778169c92fc25
> > >  thunderbolt: Use constants for path weight and priority
> > > 
> > >   4d24db0c801461adeefd7e0bdc98c79c60ccefb0
> > >   thunderbolt: Use weight constants in tb_usb3_consumed_bandwidth()
> > > 
> > >   aa673d606078da36ebc379f041c794228ac08cb5
> > >   thunderbolt: Make is_gen4_link() available to the rest of the driver
> > > 
> > >   582e70b0d3a412d15389a3c9c07a44791b311715
> > >    thunderbolt: Change bandwidth reservations to comply USB4 v2
> > > 
> > >    2bfeca73e94567c1a117ca45d2e8a25d63e5bd2c
> > >  thunderbolt: Introduce tb_port_path_direction_downstream()
> > >  
> > >  956c3abe72fb6a651b8cf77c28462f7e5b6a48b1
> > >  thunderbolt: Introduce tb_for_each_upstream_port_on_path()
> > >  
> > >  c4ff14436952c3d0dd05769d76cf48e73a253b48
> > >  thunderbolt: Introduce tb_switch_depth()
> > >  
> > >  81af2952e60603d12415e1a6fd200f8073a2ad8b
> > >  thunderbolt: Add support for asymmetric link
> > >  
> > >  3e36528c1127b20492ffaea53930bcc3df46a718
> > >  thunderbolt: Configure asymmetric link if needed and bandwidth allows
> > >  
> > >  b4734507ac55cc7ea1380e20e83f60fcd7031955
> > >  thunderbolt: Improve DisplayPort tunnel setup process to be more robust
> > 
> > Can you send these as a backported series with your signed-off-by to
> > show that you have tested these to verify that they work properly in the
> > 6.6 kernel tree?  That will make them much easier to apply, and track
> > over time.
> > 
> 
> We used the below command to apply the patches. Is this helpful, or is 
> resubmitting the series still required? If so, what script do you use to add
> the "upstream commit" lines to the commit message?
> 
> git cherry-pick 6b8ac54f31f9 fe8a0293c922 d27bd2c37d46 8648c6465c02 \
>                 f73edddfa2a6 4d24db0c8014 aa673d606078 582e70b0d3a4 \
>                 2bfeca73e945 956c3abe72fb c4ff14436952 81af2952e606 \
>                 3e36528c1127 b4734507ac55

It's a bit helpful, but I would still like to see the full series from
you, with your signed-off-by to prove that you tested this all properly
and take responsibility for the backports :)

I do have a script, called 'c2p' in the stable-queue/scripts/ directory
that adds the needed "upstream commit" information, but odds are it's
easier for you to do that by hand instead of trying to get that to work
with your directory structures.

> It's commit 709f7c7172ae ("thunderbolt: Improve DisplayPort tunnel setup
> process to be more robust") which solves the issue, and the pthers are
> dependencies.

Odd, you don't have that commit id in the above 'git cherry-pick' list,
so how could it be the solution here?

confused,

greg k-h

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

end of thread, other threads:[~2024-09-27  6:07 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <MW4PR84MB151669954C1D210A0FED92128D632@MW4PR84MB1516.NAMPRD84.PROD.OUTLOOK.COM>
2024-09-19  8:38 ` Request to apply patches to v6.6 to fix thunderbolt issue Wan, Qin (Thin Client RnD)
2024-09-19  9:04   ` Greg KH
2024-09-26 19:35     ` Gagniuc, Alexandru
2024-09-27  6:07       ` Greg KH

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