mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 04:34:11 +08:00
net: spider_net: do not read mac address again after setting it
This patch removes the spider_net_get_mac_address() call at the end of the spider_net_set_mac() function. The dev->dev_addr is instead updated with a memcpy() from sa->sa_data. Since spider_net_get_mac_address() is not used anywhere else, this patch also removes the function. Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3a67c9ccad
commit
0f6a670116
@ -266,34 +266,6 @@ spider_net_set_promisc(struct spider_net_card *card)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* spider_net_get_mac_address - read mac address from spider card
|
||||
* @card: device structure
|
||||
*
|
||||
* reads MAC address from GMACUNIMACU and GMACUNIMACL registers
|
||||
*/
|
||||
static int
|
||||
spider_net_get_mac_address(struct net_device *netdev)
|
||||
{
|
||||
struct spider_net_card *card = netdev_priv(netdev);
|
||||
u32 macl, macu;
|
||||
|
||||
macl = spider_net_read_reg(card, SPIDER_NET_GMACUNIMACL);
|
||||
macu = spider_net_read_reg(card, SPIDER_NET_GMACUNIMACU);
|
||||
|
||||
netdev->dev_addr[0] = (macu >> 24) & 0xff;
|
||||
netdev->dev_addr[1] = (macu >> 16) & 0xff;
|
||||
netdev->dev_addr[2] = (macu >> 8) & 0xff;
|
||||
netdev->dev_addr[3] = macu & 0xff;
|
||||
netdev->dev_addr[4] = (macl >> 8) & 0xff;
|
||||
netdev->dev_addr[5] = macl & 0xff;
|
||||
|
||||
if (!is_valid_ether_addr(&netdev->dev_addr[0]))
|
||||
return -EINVAL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* spider_net_get_descr_status -- returns the status of a descriptor
|
||||
* @descr: descriptor to look at
|
||||
@ -1345,6 +1317,8 @@ spider_net_set_mac(struct net_device *netdev, void *p)
|
||||
if (!is_valid_ether_addr(addr->sa_data))
|
||||
return -EADDRNOTAVAIL;
|
||||
|
||||
memcpy(netdev->dev_addr, addr->sa_data, ETH_ALEN);
|
||||
|
||||
/* switch off GMACTPE and GMACRPE */
|
||||
regvalue = spider_net_read_reg(card, SPIDER_NET_GMACOPEMD);
|
||||
regvalue &= ~((1 << 5) | (1 << 6));
|
||||
@ -1364,12 +1338,6 @@ spider_net_set_mac(struct net_device *netdev, void *p)
|
||||
|
||||
spider_net_set_promisc(card);
|
||||
|
||||
/* look up, whether we have been successful */
|
||||
if (spider_net_get_mac_address(netdev))
|
||||
return -EADDRNOTAVAIL;
|
||||
if (memcmp(netdev->dev_addr,addr->sa_data,netdev->addr_len))
|
||||
return -EADDRNOTAVAIL;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user