Message ID | 20170928183500.61199-1-grundler@chromium.org |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | [V4] r8152: add Linksys USB3GIGV1 id | expand |
Grant, On Thu, Sep 28, 2017 at 11:35 AM, Grant Grundler <grundler@chromium.org> wrote: > This linksys dongle by default comes up in cdc_ether mode. > This patch allows r8152 to claim the device: > Bus 002 Device 002: ID 13b1:0041 Linksys > > Signed-off-by: Grant Grundler <grundler@chromium.org> > --- > drivers/net/usb/cdc_ether.c | 10 ++++++++++ > drivers/net/usb/r8152.c | 2 ++ > 2 files changed, 12 insertions(+) This seems nice to me now. Thanks for all the fixes! I'm no expert in this area, but as far as I know this is ready to go now, so FWIW: Reviewed-by: Douglas Anderson <dianders@chromium.org>
From: Grant Grundler <grundler@chromium.org> Date: Thu, 28 Sep 2017 11:35:00 -0700 > This linksys dongle by default comes up in cdc_ether mode. > This patch allows r8152 to claim the device: > Bus 002 Device 002: ID 13b1:0041 Linksys > > Signed-off-by: Grant Grundler <grundler@chromium.org> Applied, thanks.
On Sun, Oct 1, 2017 at 10:39 PM, David Miller <davem@davemloft.net> wrote: > From: Grant Grundler <grundler@chromium.org> > Date: Thu, 28 Sep 2017 11:35:00 -0700 > >> This linksys dongle by default comes up in cdc_ether mode. >> This patch allows r8152 to claim the device: >> Bus 002 Device 002: ID 13b1:0041 Linksys >> >> Signed-off-by: Grant Grundler <grundler@chromium.org> > > Applied, thanks. thanks David, Doug, Oliver! :) cheers, grant
diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c index 8ab281b478f2..677a85360db1 100644 --- a/drivers/net/usb/cdc_ether.c +++ b/drivers/net/usb/cdc_ether.c @@ -547,6 +547,7 @@ static const struct driver_info wwan_info = { #define REALTEK_VENDOR_ID 0x0bda #define SAMSUNG_VENDOR_ID 0x04e8 #define LENOVO_VENDOR_ID 0x17ef +#define LINKSYS_VENDOR_ID 0x13b1 #define NVIDIA_VENDOR_ID 0x0955 #define HP_VENDOR_ID 0x03f0 #define MICROSOFT_VENDOR_ID 0x045e @@ -737,6 +738,15 @@ static const struct usb_device_id products[] = { .driver_info = 0, }, +#if IS_ENABLED(CONFIG_USB_RTL8152) +/* Linksys USB3GIGV1 Ethernet Adapter */ +{ + USB_DEVICE_AND_INTERFACE_INFO(LINKSYS_VENDOR_ID, 0x0041, USB_CLASS_COMM, + USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), + .driver_info = 0, +}, +#endif + /* ThinkPad USB-C Dock (based on Realtek RTL8153) */ { USB_DEVICE_AND_INTERFACE_INFO(LENOVO_VENDOR_ID, 0x3062, USB_CLASS_COMM, diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index ceb78e2ea4f0..941ece08ba78 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -613,6 +613,7 @@ enum rtl8152_flags { #define VENDOR_ID_MICROSOFT 0x045e #define VENDOR_ID_SAMSUNG 0x04e8 #define VENDOR_ID_LENOVO 0x17ef +#define VENDOR_ID_LINKSYS 0x13b1 #define VENDOR_ID_NVIDIA 0x0955 #define MCU_TYPE_PLA 0x0100 @@ -5316,6 +5317,7 @@ static const struct usb_device_id rtl8152_table[] = { {REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x7205)}, {REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x720c)}, {REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x7214)}, + {REALTEK_USB_DEVICE(VENDOR_ID_LINKSYS, 0x0041)}, {REALTEK_USB_DEVICE(VENDOR_ID_NVIDIA, 0x09ff)}, {} };
This linksys dongle by default comes up in cdc_ether mode. This patch allows r8152 to claim the device: Bus 002 Device 002: ID 13b1:0041 Linksys Signed-off-by: Grant Grundler <grundler@chromium.org> --- drivers/net/usb/cdc_ether.c | 10 ++++++++++ drivers/net/usb/r8152.c | 2 ++ 2 files changed, 12 insertions(+) V4: use IS_ENABLED() to check CONFIG_USB_RTL8152 is m or y. (verified by adding #error to the new code and trying to compile Thanks Doug for the tip!) Add LINKSYS vendor #define in same order for both drivers. V3: for backwards compat, add #ifdef CONFIG_USB_RTL8152 around the cdc_ether blacklist entry so the cdc_ether driver can still claim the device if r8152 driver isn't configured. V2: add LINKSYS_VENDOR_ID to cdc_ether blacklist