> -----Original Message----- > From: Bjørn Mork <bjorn@xxxxxxx> > Sent: Saturday, August 24, 2019 5:44 AM > To: Hyde, Charles - Dell Team > Cc: linux-usb@xxxxxxxxxxxxxxx; linux-acpi@xxxxxxxxxxxxxxx; > gregkh@xxxxxxxxxxxxxxxxxxx; Limonciello, Mario; oliver@xxxxxxxxxx; > netdev@xxxxxxxxxxxxxxx; nic_swsd@xxxxxxxxxxx > Subject: Re: [RFC 4/4] net: cdc_ncm: Add ACPI MAC address pass through > functionality > > > [EXTERNAL EMAIL] > > <Charles.Hyde@xxxxxxxxxxxx> 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.