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

Reply via email to