unsigned int address, void *buf, size_t size);
 
 int usb4_usb3_port_max_link_rate(struct tb_port *port);
-int usb4_usb3_port_actual_link_rate(struct tb_port *port);
 int usb4_usb3_port_allocated_bandwidth(struct tb_port *port, int *upstream_bw,
                                       int *downstream_bw);
 int usb4_usb3_port_allocate_bandwidth(struct tb_port *port, int *upstream_bw,
 
 #define ADP_USB3_CS_3                          0x03
 #define ADP_USB3_CS_3_SCALE_MASK               GENMASK(5, 0)
 #define ADP_USB3_CS_4                          0x04
-#define ADP_USB3_CS_4_ALR_MASK                 GENMASK(6, 0)
-#define ADP_USB3_CS_4_ALR_20G                  0x1
-#define ADP_USB3_CS_4_ULV                      BIT(7)
 #define ADP_USB3_CS_4_MSLR_MASK                        GENMASK(18, 12)
 #define ADP_USB3_CS_4_MSLR_SHIFT               12
 #define ADP_USB3_CS_4_MSLR_20G                 0x1
 
 {
        int ret, max_rate, allocate_up, allocate_down;
 
-       ret = usb4_usb3_port_actual_link_rate(tunnel->src_port);
+       ret = tb_usb3_max_link_rate(tunnel->dst_port, tunnel->src_port);
        if (ret < 0) {
-               tb_tunnel_warn(tunnel, "failed to read actual link rate\n");
+               tb_tunnel_warn(tunnel, "failed to read maximum link rate\n");
                return;
-       } else if (!ret) {
-               /* Use maximum link rate if the link valid is not set */
-               ret = tb_usb3_max_link_rate(tunnel->dst_port, tunnel->src_port);
-               if (ret < 0) {
-                       tb_tunnel_warn(tunnel, "failed to read maximum link rate\n");
-                       return;
-               }
        }
 
        /*
 
        return usb4_usb3_port_max_bandwidth(port, ret);
 }
 
-/**
- * usb4_usb3_port_actual_link_rate() - Established USB3 link rate
- * @port: USB3 adapter port
- *
- * Return actual established link rate of a USB3 adapter in Mb/s. If the
- * link is not up returns %0 and negative errno in case of failure.
- */
-int usb4_usb3_port_actual_link_rate(struct tb_port *port)
-{
-       int ret, lr;
-       u32 val;
-
-       if (!tb_port_is_usb3_down(port) && !tb_port_is_usb3_up(port))
-               return -EINVAL;
-
-       ret = tb_port_read(port, &val, TB_CFG_PORT,
-                          port->cap_adap + ADP_USB3_CS_4, 1);
-       if (ret)
-               return ret;
-
-       if (!(val & ADP_USB3_CS_4_ULV))
-               return 0;
-
-       lr = val & ADP_USB3_CS_4_ALR_MASK;
-       ret = lr == ADP_USB3_CS_4_ALR_20G ? 20000 : 10000;
-
-       return usb4_usb3_port_max_bandwidth(port, ret);
-}
-
 static int usb4_usb3_port_cm_request(struct tb_port *port, bool request)
 {
        int ret;