This is my second iteration of proposed code changes, based on feedback from the first iteration. I dropped my original changes to usb/core and usbnet, in favor of keeping the needed get/set ethernet address functions in cdc_ncm driver. The changes in cdc_ncm driver reflect similar code in at least one other driver, namely aqc111. Furthermore, the system used for testing is a chromebook that lacks iproute2, so I used ifconfig, debugging messages, and other chromebook tools to ensure these changes work as intended. In recent testing of a Dell Universal Dock D6000, I found that MAC address pass through is not supported in the Linux drivers. However, this same device is supported in Windows 10 (Pro) on my personal computer, in as much as I was able to tell Windows to assign a new MAC address of my choosing, and I saw through wireshark the new MAC address was pushed out to the device. Afterward, Windows reported a new IP address and I was able to view web pages. This series of patches give support to cdc_ncm USB based Ethernet controllers for programming a MAC address to the device, and also to retrieve the device's MAC address. This patch series further adds ACPI MAC address pass through support specifically for the cdc_ncm driver, and generally for any other driver that may need or want it, in furtherance of Dell's enterprise IT policy efforts. It was this latter that I initially found lacking when testing a D6000 with a Dell laptop, and then I found ifconfig was unable to set a MAC address into the device. These patches bring a similar level of functionality to cdc_ncm driver as is available with the Realtek r8152 driver, and is available with Windows. Charles Hyde (3): net: cdc_ncm: add get/set ethernet address functions ACPI: move ACPI functionality out of r8152 driver net: cdc_ncm: Add ACPI MAC address pass through functionality drivers/net/usb/cdc_ncm.c | 121 ++++++++++++++++++++++++++++++- drivers/net/usb/r8152.c | 44 +---------- include/acpi/acpi_mac_passthru.h | 16 ++++ lib/Makefile | 3 +- lib/acpi_mac_passthru.c | 61 ++++++++++++++++ 5 files changed, 200 insertions(+), 45 deletions(-) create mode 100644 include/acpi/acpi_mac_passthru.h create mode 100644 lib/acpi_mac_passthru.c -- 2.20.1