r8152: add PID for the Lenovo OneLink+ Dock
commit 1bd3a383075c64d638e65d263c9267b08ee7733c upstream. The Lenovo OneLink+ Dock contains an RTL8153 controller that behaves as a broken CDC device by default. Add the custom Lenovo PID to the r8152 driver to support it properly. Also, systems compatible with this dock provide a BIOS option to enable MAC address passthrough (as per Lenovo document "ThinkPad Docking Solutions 2017"). Add the custom PID to the MAC passthrough list too. Tested on a ThinkPad 13 1st gen with the expected results: passthrough disabled: Invalid header when reading pass-thru MAC addr passthrough enabled: Using pass-thru MAC addr XX:XX:XX:XX:XX:XX Signed-off-by: Jean-Francois Le Fillatre <jflf_kernel@gmx.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
51b96ecaed
commit
cc841a8a70
@@ -763,6 +763,13 @@ static const struct usb_device_id products[] = {
|
|||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Lenovo ThinkPad OneLink+ Dock (based on Realtek RTL8153) */
|
||||||
|
{
|
||||||
|
USB_DEVICE_AND_INTERFACE_INFO(LENOVO_VENDOR_ID, 0x3054, USB_CLASS_COMM,
|
||||||
|
USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
|
||||||
|
.driver_info = 0,
|
||||||
|
},
|
||||||
|
|
||||||
/* ThinkPad USB-C Dock (based on Realtek RTL8153) */
|
/* ThinkPad USB-C Dock (based on Realtek RTL8153) */
|
||||||
{
|
{
|
||||||
USB_DEVICE_AND_INTERFACE_INFO(LENOVO_VENDOR_ID, 0x3062, USB_CLASS_COMM,
|
USB_DEVICE_AND_INTERFACE_INFO(LENOVO_VENDOR_ID, 0x3062, USB_CLASS_COMM,
|
||||||
|
@@ -6870,6 +6870,7 @@ static const struct usb_device_id rtl8152_table[] = {
|
|||||||
{REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x0927)},
|
{REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x0927)},
|
||||||
{REALTEK_USB_DEVICE(VENDOR_ID_SAMSUNG, 0xa101)},
|
{REALTEK_USB_DEVICE(VENDOR_ID_SAMSUNG, 0xa101)},
|
||||||
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x304f)},
|
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x304f)},
|
||||||
|
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3054)},
|
||||||
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3062)},
|
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3062)},
|
||||||
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3069)},
|
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3069)},
|
||||||
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3082)},
|
{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3082)},
|
||||||
|
Reference in New Issue
Block a user