Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d5b07ccc authored by René Rebe's avatar René Rebe Committed by David S. Miller
Browse files

r8152: The Microsoft Surface docks also use R8152 v2



Without this the generic cdc_ether grabs the device,
and does not really work.

Signed-off-by: default avatarRené Rebe <rene@exactcode.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6f56f618
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -532,6 +532,7 @@ static const struct driver_info wwan_info = {
#define LENOVO_VENDOR_ID	0x17ef
#define NVIDIA_VENDOR_ID	0x0955
#define HP_VENDOR_ID		0x03f0
#define MICROSOFT_VENDOR_ID	0x045e

static const struct usb_device_id	products[] = {
/* BLACKLIST !!
@@ -761,6 +762,20 @@ static const struct usb_device_id products[] = {
	.driver_info = 0,
},

/* Microsoft Surface 2 dock (based on Realtek RTL8152) */
{
	USB_DEVICE_AND_INTERFACE_INFO(MICROSOFT_VENDOR_ID, 0x07ab, USB_CLASS_COMM,
			USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
	.driver_info = 0,
},

/* Microsoft Surface 3 dock (based on Realtek RTL8153) */
{
	USB_DEVICE_AND_INTERFACE_INFO(MICROSOFT_VENDOR_ID, 0x07c6, USB_CLASS_COMM,
			USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
	.driver_info = 0,
},

/* WHITELIST!!!
 *
 * CDC Ether uses two interfaces, not necessarily consecutive.
+3 −0
Original line number Diff line number Diff line
@@ -517,6 +517,7 @@ enum rtl8152_flags {

/* Define these values to match your device */
#define VENDOR_ID_REALTEK		0x0bda
#define VENDOR_ID_MICROSOFT		0x045e
#define VENDOR_ID_SAMSUNG		0x04e8
#define VENDOR_ID_LENOVO		0x17ef
#define VENDOR_ID_NVIDIA		0x0955
@@ -4521,6 +4522,8 @@ static void rtl8152_disconnect(struct usb_interface *intf)
static struct usb_device_id rtl8152_table[] = {
	{REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, 0x8152)},
	{REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, 0x8153)},
	{REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07ab)},
	{REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07c6)},
	{REALTEK_USB_DEVICE(VENDOR_ID_SAMSUNG, 0xa101)},
	{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO,  0x304f)},
	{REALTEK_USB_DEVICE(VENDOR_ID_LENOVO,  0x3062)},