Message ID | 20200807073632.63057-1-thierry.reding@gmail.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | b9b40ee4db6cb186341b97bca4f0d7aa2a042a66 |
Headers | show |
Series | [net] r8152: Use MAC address from correct device tree node | expand |
EJ Hsu wrote: > From: Thierry Reding <treding@nvidia.com> > > Query the USB device's device tree node when looking for a MAC address. > The struct device embedded into the struct net_device does not have a device > tree node attached at all. > > The reason why this went unnoticed is because the system where this was > tested was one of the few development units that had its OTP programmed, > as opposed to production systems where the MAC address is stored in a > separate EEPROM and is passed via device tree by the firmware. > > Reported-by: EJ Hsu <ejh@nvidia.com> > Fixes: acb6d3771a03 ("r8152: Use MAC address from device tree if available") > Signed-off-by: Thierry Reding <treding@nvidia.com> > --- > drivers/net/usb/r8152.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index > 7d39f998535d..2b02fefd094d 100644 > --- a/drivers/net/usb/r8152.c > +++ b/drivers/net/usb/r8152.c > @@ -1504,7 +1504,7 @@ static int determine_ethernet_addr(struct r8152 > *tp, struct sockaddr *sa) > > sa->sa_family = dev->type; > > - ret = eth_platform_get_mac_address(&dev->dev, sa->sa_data); > + ret = eth_platform_get_mac_address(&tp->udev->dev, sa->sa_data); > if (ret < 0) { > if (tp->version == RTL_VER_01) { > ret = pla_ocp_read(tp, PLA_IDR, 8, sa->sa_data); > -- > 2.27.0 Reviewed-by: EJ Hsu <ejh@nvidia.com> --nvpublic
From: Thierry Reding <thierry.reding@gmail.com> Date: Fri, 7 Aug 2020 09:36:32 +0200 > From: Thierry Reding <treding@nvidia.com> > > Query the USB device's device tree node when looking for a MAC address. > The struct device embedded into the struct net_device does not have a > device tree node attached at all. > > The reason why this went unnoticed is because the system where this was > tested was one of the few development units that had its OTP programmed, > as opposed to production systems where the MAC address is stored in a > separate EEPROM and is passed via device tree by the firmware. > > Reported-by: EJ Hsu <ejh@nvidia.com> > Fixes: acb6d3771a03 ("r8152: Use MAC address from device tree if available") > Signed-off-by: Thierry Reding <treding@nvidia.com> Applied, thank you.
diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index 7d39f998535d..2b02fefd094d 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -1504,7 +1504,7 @@ static int determine_ethernet_addr(struct r8152 *tp, struct sockaddr *sa) sa->sa_family = dev->type; - ret = eth_platform_get_mac_address(&dev->dev, sa->sa_data); + ret = eth_platform_get_mac_address(&tp->udev->dev, sa->sa_data); if (ret < 0) { if (tp->version == RTL_VER_01) { ret = pla_ocp_read(tp, PLA_IDR, 8, sa->sa_data);