From: Greg KH <gregkh@linuxfoundation.org>
To: Mario Limonciello <mario_limonciello@dell.com>
Cc: hayeswang@realtek.com, LKML <linux-kernel@vger.kernel.org>,
Netdev <netdev@vger.kernel.org>,
Linux USB <linux-usb@vger.kernel.org>,
pali.rohar@gmail.com, anthony.wong@canonical.com
Subject: Re: [PATCH] r8152: Add support for setting MAC to system's Auxiliary MAC address
Date: Wed, 1 Jun 2016 16:05:35 -0700 [thread overview]
Message-ID: <20160601230535.GA29279@kroah.com> (raw)
In-Reply-To: <1464817844-27206-1-git-send-email-mario_limonciello@dell.com>
On Wed, Jun 01, 2016 at 04:50:44PM -0500, Mario Limonciello wrote:
> Dell systems with Type-C ports have support for a persistent system
> specific MAC address when used with Dell Type-C docks and dongles.
> This means a dock plugged into two different systems will show different
> (but persistent) MAC addresses. Dell Type-C docks and dongles use the
> r8152 driver.
>
> This information for the system's persistent MAC address is burned in when
> the HW is built and avilable under _SB\AMAC in the DSDT at runtime.
>
> More information about the technology is available here:
> http://www.dell.com/support/article/us/en/04/SLN301147
>
> Signed-off-by: Mario Limonciello <mario_limonciello@dell.com>
> ---
> drivers/net/usb/Kconfig | 1 +
> drivers/net/usb/r8152.c | 37 +++++++++++++++++++++++++++++++++++++
> 2 files changed, 38 insertions(+)
>
> diff --git a/drivers/net/usb/Kconfig b/drivers/net/usb/Kconfig
> index cdde590..c320930 100644
> --- a/drivers/net/usb/Kconfig
> +++ b/drivers/net/usb/Kconfig
> @@ -98,6 +98,7 @@ config USB_RTL8150
> config USB_RTL8152
> tristate "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters"
> select MII
> + depends on ACPI
> help
> This option adds support for Realtek RTL8152 based USB 2.0
> 10/100 Ethernet adapters and RTL8153 based USB 3.0 10/100/1000
> diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
> index 3f9f6ed..62af3b4 100644
> --- a/drivers/net/usb/r8152.c
> +++ b/drivers/net/usb/r8152.c
> @@ -26,6 +26,7 @@
> #include <linux/mdio.h>
> #include <linux/usb/cdc.h>
> #include <linux/suspend.h>
> +#include <linux/acpi.h>
>
> /* Information for net-next */
> #define NETNEXT_VERSION "08"
> @@ -1030,6 +1031,39 @@ out1:
> return ret;
> }
>
> +static u8 amac_ascii_to_hex(int c)
> +{
> + if (c <= 0x39)
> + return (u8)(c - 0x30);
> + else if (c <= 0x46)
> + return (u8)(c - 0x37);
> + return (u8)(c - 0x57);
> +}
We really don't have such a function somewhere in the kernel already?
And why 'int', isn't "c" really a u8?
> +static void set_auxiliary_addr(struct sockaddr *sa)
> +{
> + acpi_status status;
> + acpi_handle handle;
> + struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
> + union acpi_object *obj;
> + int i;
> + char *ptr;
> +
> + acpi_get_handle(NULL, "\\_SB", &handle);
> + status = acpi_evaluate_object(handle, "AMAC", NULL, &buffer);
Is this field in the ACPI standard, or should this only be "trusted" on
a limited number of machines (i.e. with Dell DMI strings?)
And finally, this seems odd overall given that a MAC address should be
associated with the specific network device, not the overall system.
What if you have 2 types of devices plugged into the same machine, with
this patch you suddenly have the same MAC address for both of them.
That doesn't seem correct...
thanks,
greg k-h
next prev parent reply other threads:[~2016-06-01 23:05 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-01 21:50 [PATCH] r8152: Add support for setting MAC to system's Auxiliary MAC address Mario Limonciello
2016-06-01 22:27 ` Andrew Lunn
2016-06-01 22:31 ` Mario_Limonciello
2016-06-01 23:06 ` Greg KH
2016-06-02 1:54 ` Mario_Limonciello
2016-06-01 23:05 ` Greg KH [this message]
2016-06-02 2:10 ` Mario_Limonciello
2016-06-02 15:22 ` Greg KH
2016-06-02 15:46 ` Mario_Limonciello
2016-06-02 15:46 ` Mario_Limonciello-DYMqY+WieiM
2016-06-02 16:09 ` Greg KH
2016-06-02 16:58 ` Mario_Limonciello
2016-06-03 9:23 ` Hayes Wang
2016-06-03 14:52 ` Mario_Limonciello
2016-06-03 14:52 ` Mario_Limonciello-DYMqY+WieiM
2016-06-02 18:04 ` Bjørn Mork
2016-06-02 18:28 ` Mario_Limonciello
2016-06-02 19:03 ` Pali Rohár
2016-06-02 19:18 ` Mario_Limonciello
2016-06-02 18:44 ` Pali Rohár
2016-06-02 2:53 ` Mario_Limonciello
2016-06-02 8:11 ` Bjørn Mork
2016-06-02 14:29 ` Mario_Limonciello
2016-06-02 7:27 ` Bjørn Mork
2016-06-02 6:10 ` Hayes Wang
2016-06-02 7:46 ` Pali Rohár
2016-06-02 14:45 ` Mario_Limonciello
2016-06-02 15:01 ` Andrew Lunn
2016-06-02 15:07 ` Mario_Limonciello
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=20160601230535.GA29279@kroah.com \
--to=gregkh@linuxfoundation.org \
--cc=anthony.wong@canonical.com \
--cc=hayeswang@realtek.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mario_limonciello@dell.com \
--cc=netdev@vger.kernel.org \
--cc=pali.rohar@gmail.com \
/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.