net: tile: Use helpers from linux/etherdevice.h to check/set MAC
Use is_zero_ether_addr() to check for the MAC address being all zeros instead of open coding the check. Also use ether_addr_copy() instead of a manual memcpy() to set the netdev->dev_addr. Furthermore, get rid of a redundant assignment of netdev->addr_len. This is already set by ether_setup() which is called in tile_net_setup(). Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Acked-by: Chris Metcalf <cmetcalf@tilera.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
08f6dd89d2
commit
d581ebf5a1
@ -2192,7 +2192,6 @@ static void tile_net_dev_init(const char *name, const uint8_t *mac)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
int i;
|
int i;
|
||||||
int nz_addr = 0;
|
|
||||||
struct net_device *dev;
|
struct net_device *dev;
|
||||||
struct tile_net_priv *priv;
|
struct tile_net_priv *priv;
|
||||||
|
|
||||||
@ -2223,15 +2222,10 @@ static void tile_net_dev_init(const char *name, const uint8_t *mac)
|
|||||||
* be done before the device is opened. If the MAC is all zeroes,
|
* be done before the device is opened. If the MAC is all zeroes,
|
||||||
* we use a random address, since we're probably on the simulator.
|
* we use a random address, since we're probably on the simulator.
|
||||||
*/
|
*/
|
||||||
for (i = 0; i < 6; i++)
|
if (!is_zero_ether_addr(mac))
|
||||||
nz_addr |= mac[i];
|
ether_addr_copy(dev->dev_addr, mac);
|
||||||
|
else
|
||||||
if (nz_addr) {
|
|
||||||
memcpy(dev->dev_addr, mac, ETH_ALEN);
|
|
||||||
dev->addr_len = 6;
|
|
||||||
} else {
|
|
||||||
eth_hw_addr_random(dev);
|
eth_hw_addr_random(dev);
|
||||||
}
|
|
||||||
|
|
||||||
/* Register the network device. */
|
/* Register the network device. */
|
||||||
ret = register_netdev(dev);
|
ret = register_netdev(dev);
|
||||||
|
Loading…
Reference in New Issue
Block a user