Message ID | 20240327083032.1611284-1-mika.westerberg@linux.intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | c032cdd48b29549e8283c2fea99e7d91ddefebf7 |
Headers | show |
Series | thunderbolt: Do not create DisplayPort tunnels on adapters of the same router | expand |
On Wed, Mar 27, 2024 at 10:30:32AM +0200, Mika Westerberg wrote: > Probably due to a firmware bug Dell TB16 dock announces that one of its > DisplayPort adapters is actually DP IN. Now this is possible and used > with some external GPUs but not likely in this case as we are dealing > with a dock. Anyways the problem is that the driver tries to create a > DisplayPort tunnel between adapters of the same router which then shows > to user that there is no picture on the display (because there are no > available DP OUT adapters on the dock anymore). > > Fix this by not creating DisplayPort tunnels between adapters that are > on the same router. > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/10265 > Fixes: 274baf695b08 ("thunderbolt: Add DP IN added last in the head of the list of DP resources") > Cc: Gil Fine <gil.fine@linux.intel.com> > Cc: stable@vger.kernel.org > Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> Applied to fixes.
diff --git a/drivers/thunderbolt/tb.c b/drivers/thunderbolt/tb.c index c5ce7a694b27..360cb95f39aa 100644 --- a/drivers/thunderbolt/tb.c +++ b/drivers/thunderbolt/tb.c @@ -1801,6 +1801,12 @@ static struct tb_port *tb_find_dp_out(struct tb *tb, struct tb_port *in) continue; } + /* Needs to be on different routers */ + if (in->sw == port->sw) { + tb_port_dbg(port, "skipping DP OUT on same router\n"); + continue; + } + tb_port_dbg(port, "DP OUT available\n"); /*
Probably due to a firmware bug Dell TB16 dock announces that one of its DisplayPort adapters is actually DP IN. Now this is possible and used with some external GPUs but not likely in this case as we are dealing with a dock. Anyways the problem is that the driver tries to create a DisplayPort tunnel between adapters of the same router which then shows to user that there is no picture on the display (because there are no available DP OUT adapters on the dock anymore). Fix this by not creating DisplayPort tunnels between adapters that are on the same router. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/10265 Fixes: 274baf695b08 ("thunderbolt: Add DP IN added last in the head of the list of DP resources") Cc: Gil Fine <gil.fine@linux.intel.com> Cc: stable@vger.kernel.org Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> --- drivers/thunderbolt/tb.c | 6 ++++++ 1 file changed, 6 insertions(+)