mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
smsc75xx: only set mac address once on bind
This patch changes when we decide what the device's MAC address is from per ifconfig up to once when the device is connected. Without this patch, a manually forced device MAC is overwritten on ifconfig down/up. Also devices that have no EEPROM are assigned a new random address on ifconfig down/up instead of persisting the same one. Signed-off-by: Steve Glendinning <steve.glendinning@shawell.net> Reported-by: Robert Cunningham <rcunningham@nsmsurveillance.com> Cc: Bjorn Mork <bjorn@mork.no> Cc: Dan Williams <dcbw@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4b5511ebc7
commit
481705a172
1 changed files with 8 additions and 2 deletions
|
@ -1054,8 +1054,6 @@ static int smsc75xx_reset(struct usbnet *dev)
|
|||
|
||||
netif_dbg(dev, ifup, dev->net, "PHY reset complete\n");
|
||||
|
||||
smsc75xx_init_mac_address(dev);
|
||||
|
||||
ret = smsc75xx_set_mac_address(dev);
|
||||
if (ret < 0) {
|
||||
netdev_warn(dev->net, "Failed to set mac address\n");
|
||||
|
@ -1422,6 +1420,14 @@ static int smsc75xx_bind(struct usbnet *dev, struct usb_interface *intf)
|
|||
dev->net->hw_features = NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
|
||||
NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_RXCSUM;
|
||||
|
||||
ret = smsc75xx_wait_ready(dev, 0);
|
||||
if (ret < 0) {
|
||||
netdev_warn(dev->net, "device not ready in smsc75xx_bind\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
smsc75xx_init_mac_address(dev);
|
||||
|
||||
/* Init all registers */
|
||||
ret = smsc75xx_reset(dev);
|
||||
if (ret < 0) {
|
||||
|
|
Loading…
Reference in a new issue