Thread (2 messages) 2 messages, 2 authors, 2019-08-24

RE: [RFC 4/4] net: cdc_ncm: Add ACPI MAC address pass through functionality

From: <hidden>
Date: 2019-08-24 13:26:40
Also in: linux-acpi, netdev

-----Original Message-----
From: Bjørn Mork <bjorn@mork.no>
Sent: Saturday, August 24, 2019 5:44 AM
To: Hyde, Charles - Dell Team
Cc: linux-usb@vger.kernel.org; linux-acpi@vger.kernel.org;
gregkh@linuxfoundation.org; Limonciello, Mario; oliver@neukum.org;
netdev@vger.kernel.org; nic_swsd@realtek.com
Subject: Re: [RFC 4/4] net: cdc_ncm: Add ACPI MAC address pass through
functionality


[EXTERNAL EMAIL]

[off-list ref] writes:
quoted
@@ -930,11 +931,18 @@ int cdc_ncm_bind_common(struct usbnet *dev,
struct usb_interface *intf, u8 data_
quoted
 	usb_set_intfdata(ctx->control, dev);

 	if (ctx->ether_desc) {
+		struct sockaddr sa;
+
 		temp = usbnet_get_ethernet_addr(dev, ctx->ether_desc-
iMACAddress);
 		if (temp) {
 			dev_dbg(&intf->dev, "failed to get mac address\n");
 			goto error2;
 		}
+		if (get_acpi_mac_passthru(&intf->dev, &sa) == 0) {
+			memcpy(dev->net->dev_addr, sa.sa_data, ETH_ALEN);
+			if (usbnet_set_ethernet_addr(dev) < 0)
+				usbnet_get_ethernet_addr(dev, ctx-
ether_desc->iMACAddress);
+		}
 		dev_info(&intf->dev, "MAC-Address: %pM\n", dev->net-
dev_addr);
 	}
So you want to run a Dell specific ACPI method every time anyone plugs some
NCM class device into a host supporing ACPI?  That's going to annoy the hell out
of 99.9997% of the x86, ia64 and arm64 users of this driver.

Call ACPI once when the driver loads, and only if running on an actual Dell
system where this method is supported.  There must be some ACPI device ID you
can match on to know if this method is supported or not?


Bjørn
I have to agree - this is missing an identifying factor of the D6000.  It shouldn't be
running on "just any" cdc_ncm device.

The code that is in get_acpi_mac_passthrough checks for a properly built ACPI method
though.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help