[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <76ae76bf1fd44fb3bd42eb43907e3ce8@AUSX13MPC101.AMER.DELL.COM>
Date: Sat, 24 Aug 2019 13:26:27 +0000
From: <Mario.Limonciello@...l.com>
To: <bjorn@...k.no>, <Charles.Hyde@...lteam.com>
CC: <linux-usb@...r.kernel.org>, <linux-acpi@...r.kernel.org>,
<gregkh@...uxfoundation.org>, <oliver@...kum.org>,
<netdev@...r.kernel.org>, <nic_swsd@...ltek.com>
Subject: RE: [RFC 4/4] net: cdc_ncm: Add ACPI MAC address pass through
functionality
> -----Original Message-----
> From: Bjørn Mork <bjorn@...k.no>
> Sent: Saturday, August 24, 2019 5:44 AM
> To: Hyde, Charles - Dell Team
> Cc: linux-usb@...r.kernel.org; linux-acpi@...r.kernel.org;
> gregkh@...uxfoundation.org; Limonciello, Mario; oliver@...kum.org;
> netdev@...r.kernel.org; nic_swsd@...ltek.com
> Subject: Re: [RFC 4/4] net: cdc_ncm: Add ACPI MAC address pass through
> functionality
>
>
> [EXTERNAL EMAIL]
>
> <Charles.Hyde@...lteam.com> writes:
>
> > @@ -930,11 +931,18 @@ int cdc_ncm_bind_common(struct usbnet *dev,
> struct usb_interface *intf, u8 data_
> > 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.
Powered by blists - more mailing lists