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
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