2023-09-16 15:30:20

by Bagas Sanjaya

[permalink] [raw]
Subject: Re: Lenovo Hybrid Dock MAC passtrough patch

On Sat, Sep 16, 2023 at 11:41:49AM +0000, Louis-Marie wrote:
> Hi,
> I would like to submit a patch for enabling mac passtrough for the Lenovo Hybrid Dock.
> Tested with Fedora 6.4.12.
>
>
>
> diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.cindex 0c13d9950cd8..02e6404bf6ea 100644
> --- a/drivers/net/usb/r8152.c
> +++ b/drivers/net/usb/r8152.c
> @@ -781,6 +781,7 @@ enum rtl8152_flags {
>  #define DEVICE_ID_THINKPAD_USB_C_DONGLE            0x720c
>  #define DEVICE_ID_THINKPAD_USB_C_DOCK_GEN2     0xa387
>  #define DEVICE_ID_THINKPAD_USB_C_DOCK_GEN3     0x3062
> +#define DEVICE_ID_THINKPAD_HYBRID_USB_C_DOCK       0xa359
>
>  struct tally_counter {
>     __le64  tx_packets;
> @@ -9583,6 +9584,7 @@ static bool rtl8152_supports_lenovo_macpassthru(struct usb_device *udev)
>         case DEVICE_ID_THINKPAD_THUNDERBOLT3_DOCK_GEN2:
>         case DEVICE_ID_THINKPAD_USB_C_DOCK_GEN2:
>         case DEVICE_ID_THINKPAD_USB_C_DOCK_GEN3:
> +       case DEVICE_ID_THINKPAD_HYBRID_USB_C_DOCK:
>         case DEVICE_ID_THINKPAD_USB_C_DONGLE:
>             return 1;
>         }
> @@ -9832,6 +9834,7 @@ static const struct usb_device_id rtl8152_table[] = {
>     { USB_DEVICE(VENDOR_ID_LENOVO,  0x7214) },
>     { USB_DEVICE(VENDOR_ID_LENOVO,  0x721e) },
>     { USB_DEVICE(VENDOR_ID_LENOVO,  0xa387) },
> +   { USB_DEVICE(VENDOR_ID_LENOVO,  0xa359) },
>     { USB_DEVICE(VENDOR_ID_LINKSYS, 0x0041) },
>     { USB_DEVICE(VENDOR_ID_NVIDIA,  0x09ff) },
>     { USB_DEVICE(VENDOR_ID_TPLINK,  0x0601) },
> diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
> index 15e9bd180a1d..ad98c8ffbc69 100644
> --- a/drivers/usb/core/quirks.c
> +++ b/drivers/usb/core/quirks.c
> @@ -470,6 +470,9 @@ static const struct usb_device_id usb_quirk_list[] = {
>     /* Lenovo ThinkPad USB-C Dock Gen2 Ethernet (RTL8153 GigE) */
>     { USB_DEVICE(0x17ef, 0xa387), .driver_info = USB_QUIRK_NO_LPM },
>
> +   /* Lenovo ThinkPad Hydrid USB-C Dock */
> +   { USB_DEVICE(0x17ef, 0xa359), .driver_info = USB_QUIRK_NO_LPM },
> +
>     /* BUILDWIN Photo Frame */
>     { USB_DEVICE(0x1908, 0x1315), .driver_info =
>             USB_QUIRK_HONOR_BNUMINTERFACES },
>
> Signed-off-by: Louis-Marie Rauline <[email protected]>
>

Can you send above suggestion as formal patch instead? See
Documentation/process/submitting-patches.rst for how to properly submit
patches. And also, use git-send-email(1) when sending them so that patch
corruption (like tabs converting to spaces and line wrapping as in above
diff) doesn't occur.

Thanks.

--
An old man doll... just what I always wanted! - Clara


Attachments:
(No filename) (2.68 kB)
signature.asc (235.00 B)
Download all attachments

2023-09-16 15:46:55

by Andrew Lunn

[permalink] [raw]
Subject: Re: Lenovo Hybrid Dock MAC passtrough patch

On Sat, Sep 16, 2023 at 07:14:57PM +0700, Bagas Sanjaya wrote:
> On Sat, Sep 16, 2023 at 11:41:49AM +0000, Louis-Marie wrote:
> > Hi,
> > I would like to submit a patch for enabling mac passtrough for the Lenovo Hybrid Dock.
> > Tested with Fedora 6.4.12.
> >
> >
> >
> > diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.cindex 0c13d9950cd8..02e6404bf6ea 100644
> > --- a/drivers/net/usb/r8152.c
> > +++ b/drivers/net/usb/r8152.c
> > @@ -781,6 +781,7 @@ enum rtl8152_flags {
> > ?#define DEVICE_ID_THINKPAD_USB_C_DONGLE ? ? ? ? ? ?0x720c
> > ?#define DEVICE_ID_THINKPAD_USB_C_DOCK_GEN2 ? ? 0xa387
> > ?#define DEVICE_ID_THINKPAD_USB_C_DOCK_GEN3 ? ? 0x3062
> > +#define DEVICE_ID_THINKPAD_HYBRID_USB_C_DOCK ? ? ? 0xa359
> >
> > ?struct tally_counter {
> > ? ? __le64 ?tx_packets;
> > @@ -9583,6 +9584,7 @@ static bool rtl8152_supports_lenovo_macpassthru(struct usb_device *udev)
> > ? ? ? ? case DEVICE_ID_THINKPAD_THUNDERBOLT3_DOCK_GEN2:
> > ? ? ? ? case DEVICE_ID_THINKPAD_USB_C_DOCK_GEN2:
> > ? ? ? ? case DEVICE_ID_THINKPAD_USB_C_DOCK_GEN3:
> > + ? ? ? case DEVICE_ID_THINKPAD_HYBRID_USB_C_DOCK:
> > ? ? ? ? case DEVICE_ID_THINKPAD_USB_C_DONGLE:
> > ? ? ? ? ? ? return 1;
> > ? ? ? ? }
> > @@ -9832,6 +9834,7 @@ static const struct usb_device_id rtl8152_table[] = {
> > ? ? { USB_DEVICE(VENDOR_ID_LENOVO, ?0x7214) },
> > ? ? { USB_DEVICE(VENDOR_ID_LENOVO, ?0x721e) },
> > ? ? { USB_DEVICE(VENDOR_ID_LENOVO, ?0xa387) },
> > + ? { USB_DEVICE(VENDOR_ID_LENOVO, ?0xa359) },
> > ? ? { USB_DEVICE(VENDOR_ID_LINKSYS, 0x0041) },
> > ? ? { USB_DEVICE(VENDOR_ID_NVIDIA, ?0x09ff) },
> > ? ? { USB_DEVICE(VENDOR_ID_TPLINK, ?0x0601) },
> > diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
> > index 15e9bd180a1d..ad98c8ffbc69 100644
> > --- a/drivers/usb/core/quirks.c
> > +++ b/drivers/usb/core/quirks.c
> > @@ -470,6 +470,9 @@ static const struct usb_device_id usb_quirk_list[] = {
> > ? ? /* Lenovo ThinkPad USB-C Dock Gen2 Ethernet (RTL8153 GigE) */
> > ? ? { USB_DEVICE(0x17ef, 0xa387), .driver_info = USB_QUIRK_NO_LPM },
> >
> > + ? /* Lenovo ThinkPad Hydrid USB-C Dock */
> > + ? { USB_DEVICE(0x17ef, 0xa359), .driver_info = USB_QUIRK_NO_LPM },
> > +
> > ? ? /* BUILDWIN Photo Frame */
> > ? ? { USB_DEVICE(0x1908, 0x1315), .driver_info =
> > ? ? ? ? ? ? USB_QUIRK_HONOR_BNUMINTERFACES },
> >
> > Signed-off-by: Louis-Marie Rauline <[email protected]>
> >
>
> Can you send above suggestion as formal patch instead? See
> Documentation/process/submitting-patches.rst for how to properly submit
> patches. And also, use git-send-email(1) when sending them so that patch
> corruption (like tabs converting to spaces and line wrapping as in above
> diff) doesn't occur.
>
> Thanks.

This appears to do more than MAC passthrough, e.g. adding a quirk for
LPM. Please split the patch up. The MAC passthrough part is likely to
be rejected, because MAC pass through is a mess, but the quirk part
looks O.K.

Andrew