r8152: enable U1/U2 for USB_SPEED_SUPER
authorHayes Wang <hayeswang@realtek.com>
Fri, 19 Feb 2021 09:04:40 +0000 (17:04 +0800)
committerJakub Kicinski <kuba@kernel.org>
Tue, 23 Feb 2021 20:36:02 +0000 (12:36 -0800)
U1/U2 shoued be enabled for USB 3.0 or later. The USB 2.0 doesn't
support it.

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/usb/r8152.c

index 2d7cc63..4bfee28 100644 (file)
@@ -3360,7 +3360,7 @@ static void rtl8153b_runtime_enable(struct r8152 *tp, bool enable)
                r8153b_ups_en(tp, false);
                r8153_queue_wake(tp, false);
                rtl_runtime_suspend_enable(tp, false);
-               if (tp->udev->speed != USB_SPEED_HIGH)
+               if (tp->udev->speed >= USB_SPEED_SUPER)
                        r8153b_u1u2en(tp, true);
        }
 }
@@ -5056,7 +5056,7 @@ static void rtl8153b_up(struct r8152 *tp)
 
        r8153_aldps_en(tp, true);
 
-       if (tp->udev->speed != USB_SPEED_HIGH)
+       if (tp->udev->speed >= USB_SPEED_SUPER)
                r8153b_u1u2en(tp, true);
 }
 
@@ -5572,8 +5572,9 @@ static void r8153b_init(struct r8152 *tp)
        ocp_data |= POLL_LINK_CHG;
        ocp_write_word(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS, ocp_data);
 
-       if (tp->udev->speed != USB_SPEED_HIGH)
+       if (tp->udev->speed >= USB_SPEED_SUPER)
                r8153b_u1u2en(tp, true);
+
        usb_enable_lpm(tp->udev);
 
        /* MAC clock speed down */