r8152: Add MAC passthrough support to new device
authorKai-Heng Feng <kai.heng.feng@canonical.com>
Tue, 4 Feb 2020 05:33:13 +0000 (13:33 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 4 Feb 2020 10:58:10 +0000 (11:58 +0100)
Device 0xa387 also supports MAC passthrough, therefore add it to the
whitelst.

BugLink: https://bugs.launchpad.net/bugs/1827961/comments/30
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/r8152.c

index e8cd8c05b1569400acb4849b9663901887f10ee8..78ddbaf6401b6c953971e4dd6848688483fba89f 100644 (file)
@@ -698,6 +698,9 @@ enum rtl8152_flags {
 #define VENDOR_ID_NVIDIA               0x0955
 #define VENDOR_ID_TPLINK               0x2357
 
+#define DEVICE_ID_THINKPAD_THUNDERBOLT3_DOCK_GEN2      0x3082
+#define DEVICE_ID_THINKPAD_USB_C_DOCK_GEN2             0xa387
+
 #define MCU_TYPE_PLA                   0x0100
 #define MCU_TYPE_USB                   0x0000
 
@@ -6759,9 +6762,13 @@ static int rtl8152_probe(struct usb_interface *intf,
                netdev->hw_features &= ~NETIF_F_RXCSUM;
        }
 
-       if (le16_to_cpu(udev->descriptor.idVendor) == VENDOR_ID_LENOVO &&
-           le16_to_cpu(udev->descriptor.idProduct) == 0x3082)
-               set_bit(LENOVO_MACPASSTHRU, &tp->flags);
+       if (le16_to_cpu(udev->descriptor.idVendor) == VENDOR_ID_LENOVO) {
+               switch (le16_to_cpu(udev->descriptor.idProduct)) {
+               case DEVICE_ID_THINKPAD_THUNDERBOLT3_DOCK_GEN2:
+               case DEVICE_ID_THINKPAD_USB_C_DOCK_GEN2:
+                       set_bit(LENOVO_MACPASSTHRU, &tp->flags);
+               }
+       }
 
        if (le16_to_cpu(udev->descriptor.bcdDevice) == 0x3011 && udev->serial &&
            (!strcmp(udev->serial, "000001000000") ||