Re: Lenovo Hybrid Dock MAC passtrough patch

From: Andrew Lunn
Date: Sat Sep 16 2023 - 10:47:52 EST


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 <rauline.lm@xxxxxxxxxxxxxx>
> >
>
> 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