thunderbolt: Fixes for v5.9-rc4
This includes two fixes, one that fixes a regression around reboot and other that uses a correct link rate when USB3 bandwidth is reclaimed when the link is not up. Both have been in linux-next with no reported issues. -----BEGIN PGP SIGNATURE----- iQJUBAABCgA+FiEEVTdhRGBbNzLrSUBaAP2fSd+ZWKAFAl9N9lMgHG1pa2Eud2Vz dGVyYmVyZ0BsaW51eC5pbnRlbC5jb20ACgkQAP2fSd+ZWKDqFg//Rm8xBbFp+DFF LysW8K6ZCEbwUVZa0CvrDv2fSG/E//yYKstMOIuIZBs49LENNEGtQeyPwRkZmeyk LA1n6lxOefyLDHw/7Q4pd6mrxFTUBQoLYrTofuTck5b7HVABv1CpyhWjBmEijTy0 wKcSEE2LWDJ4e6ROMrk6X6hYSYAIgfjWyjiiswqETuPB7s62Nnpv14cLc6//2thc OzRaa5qKJ3ldwswJZzjFDWriDIyIBQiEHHP8YM+QfiMNs+Fb/pP1Uxyg0OJSk6g3 1qMV8b2VmSXdnT0APF0oyxkkB3zELvJo33RhRKgW9OTAhFkPSeqdxbydAe//MdVo AWjJ8hvRcFCxnXF9cKzA3HagUX4CVP/IXSH3L8kWR9PprRJvsGXKNA4Xna9Cx4FI qfPatQ73ATIBM2iwsFiYweawuO0Ti5JcPpRBfm1D4rG0yv/r7rN+3fBatHsrdYi4 FMT+kRZI/GUi5LQFXLcG6UE8BesGipJJvGJTIkuKu7GQJ3RlLrZRLMkmM/wTx6be aahVT25OXUeZJ77y+RhgVQuikSWDTLS4TjXBa7/t0y+JuEkBjtoPlDbWn3IFGaRr oPnCkNnpFvTA8pnv7KWt9X8J5pZW3WNd35OmPlTilXBz1gbrH6+U0sSE5KsC6ii1 EYewgZI+e8qZXGcwDw0qBBXJ8RqFWPI= =vxwa -----END PGP SIGNATURE----- Merge tag 'thunderbolt-for-v5.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt into usb-linus Mika writes: thunderbolt: Fixes for v5.9-rc4 This includes two fixes, one that fixes a regression around reboot and other that uses a correct link rate when USB3 bandwidth is reclaimed when the link is not up. Both have been in linux-next with no reported issues. * tag 'thunderbolt-for-v5.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/westeri/thunderbolt: thunderbolt: Use maximum USB3 link rate when reclaiming if link is not up thunderbolt: Disable ports that are not implemented
This commit is contained in:
commit
6b6c71e897
|
@ -684,6 +684,7 @@ static int tb_init_port(struct tb_port *port)
|
||||||
if (res == -ENODEV) {
|
if (res == -ENODEV) {
|
||||||
tb_dbg(port->sw->tb, " Port %d: not implemented\n",
|
tb_dbg(port->sw->tb, " Port %d: not implemented\n",
|
||||||
port->port);
|
port->port);
|
||||||
|
port->disabled = true;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return res;
|
return res;
|
||||||
|
|
|
@ -186,7 +186,7 @@ struct tb_switch {
|
||||||
* @cap_adap: Offset of the adapter specific capability (%0 if not present)
|
* @cap_adap: Offset of the adapter specific capability (%0 if not present)
|
||||||
* @cap_usb4: Offset to the USB4 port capability (%0 if not present)
|
* @cap_usb4: Offset to the USB4 port capability (%0 if not present)
|
||||||
* @port: Port number on switch
|
* @port: Port number on switch
|
||||||
* @disabled: Disabled by eeprom
|
* @disabled: Disabled by eeprom or enabled but not implemented
|
||||||
* @bonded: true if the port is bonded (two lanes combined as one)
|
* @bonded: true if the port is bonded (two lanes combined as one)
|
||||||
* @dual_link_port: If the switch is connected using two ports, points
|
* @dual_link_port: If the switch is connected using two ports, points
|
||||||
* to the other port.
|
* to the other port.
|
||||||
|
|
|
@ -951,10 +951,18 @@ static void tb_usb3_reclaim_available_bandwidth(struct tb_tunnel *tunnel,
|
||||||
int ret, max_rate, allocate_up, allocate_down;
|
int ret, max_rate, allocate_up, allocate_down;
|
||||||
|
|
||||||
ret = usb4_usb3_port_actual_link_rate(tunnel->src_port);
|
ret = usb4_usb3_port_actual_link_rate(tunnel->src_port);
|
||||||
if (ret <= 0) {
|
if (ret < 0) {
|
||||||
tb_tunnel_warn(tunnel, "tunnel is not up\n");
|
tb_tunnel_warn(tunnel, "failed to read actual link rate\n");
|
||||||
return;
|
return;
|
||||||
|
} else if (!ret) {
|
||||||
|
/* Use maximum link rate if the link valid is not set */
|
||||||
|
ret = usb4_usb3_port_max_link_rate(tunnel->src_port);
|
||||||
|
if (ret < 0) {
|
||||||
|
tb_tunnel_warn(tunnel, "failed to read maximum link rate\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 90% of the max rate can be allocated for isochronous
|
* 90% of the max rate can be allocated for isochronous
|
||||||
* transfers.
|
* transfers.
|
||||||
|
|
Loading…
Reference in New Issue