From: Jakub Kicinski <kuba@kernel.org>
To: David Ober <dober6023@gmail.com>
Cc: linux-usb@vger.kernel.org, netdev@vger.kernel.org,
davem@davemloft.net, hayeswang@realtek.com,
aaron.ma@canonical.com, markpearson@lenovo.com, dober@lenovo.com
Subject: Re: [PATCH v4] net: usb: r8152: Add in new Devices that are supported for Mac-Passthru
Date: Fri, 13 May 2022 16:55:47 -0700 [thread overview]
Message-ID: <20220513165547.03d1c778@kernel.org> (raw)
In-Reply-To: <20220513124906.402630-1-dober6023@gmail.com>
On Fri, 13 May 2022 08:49:06 -0400 David Ober wrote:
> Lenovo Thunderbolt 4 Dock, and other Lenovo USB Docks are using the
> original Realtek USB ethernet Vendor and Product IDs
> If the Network device is Realtek verify that it is on a Lenovo USB hub
> before enabling the passthru feature
>
> This also adds in the device IDs for the Lenovo USB Dongle and one other
> USB-C dock
>
> V2 fix formating of code
> V3 remove Generic define for Device ID 0x8153 and change it to use value
> V4 rearrange defines and case statement to put them in better order
>
> Signed-off-by: David Ober <dober6023@gmail.com>
> ---
> drivers/net/usb/r8152.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
> index c2da3438387c..d8f2d4b85db4 100644
> --- a/drivers/net/usb/r8152.c
> +++ b/drivers/net/usb/r8152.c
> @@ -771,7 +771,9 @@ enum rtl8152_flags {
> };
>
> #define DEVICE_ID_THINKPAD_THUNDERBOLT3_DOCK_GEN2 0x3082
> +#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
>
> struct tally_counter {
> __le64 tx_packets;
> @@ -9646,6 +9648,14 @@ static int rtl8152_probe(struct usb_interface *intf,
> switch (le16_to_cpu(udev->descriptor.idProduct)) {
> 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_USB_C_DONGLE:
> + tp->lenovo_macpassthru = 1;
> + }
> + } else if ((le16_to_cpu(udev->descriptor.idVendor) == VENDOR_ID_REALTEK) &&
> + (le16_to_cpu(udev->parent->descriptor.idVendor) == VENDOR_ID_LENOVO)) {
The parenthesis around the condition are unnecessary. If the compiler
does not warn it's okay to skip parenthesis. checkpatch should warn
about this. We assume kernel developers know the C operator precedence.
I think you should factor these checks out to a separate helper tho.
Create a helper like:
static bool rtl8152_needs_lenovo_macpassthru(dev)
that can use local variables to avoid the tediously long and repeated
le16_to_cpu(...) lines. Then just assign:
tp->lenovo_macpassthru = rtl8152_needs_lenovo_macpassthru(dev);
Please CC Bjørn Mork <bjorn@mork.no> since he commented on the previous
version. I'd personally also love to see this solved in user space...
but have no clear idea how.
> + switch (le16_to_cpu(udev->descriptor.idProduct)) {
> + case 0x8153:
> tp->lenovo_macpassthru = 1;
> }
> }
prev parent reply other threads:[~2022-05-14 1:54 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-13 12:49 [PATCH v4] net: usb: r8152: Add in new Devices that are supported for Mac-Passthru David Ober
2022-05-13 23:55 ` Jakub Kicinski [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220513165547.03d1c778@kernel.org \
--to=kuba@kernel.org \
--cc=aaron.ma@canonical.com \
--cc=davem@davemloft.net \
--cc=dober6023@gmail.com \
--cc=dober@lenovo.com \
--cc=hayeswang@realtek.com \
--cc=linux-usb@vger.kernel.org \
--cc=markpearson@lenovo.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.