ep93xx-eth: check for zero MAC address on probe, not on device open
If we happen to have registered the driver without passing a MAC address, we will print a zero MAC address and register the interface with this invalid address, this is confusin. This patch moves the checking of a valid ethernet address and the generation of a random one down from the open function to the probe function. Signed-off-by: Florian Fainelli <florian@openwrt.org> Acked-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d5ccd67bb7
commit
3c91c7ae84
|
@ -628,15 +628,6 @@ static int ep93xx_open(struct net_device *dev)
|
|||
if (ep93xx_alloc_buffers(ep))
|
||||
return -ENOMEM;
|
||||
|
||||
if (is_zero_ether_addr(dev->dev_addr)) {
|
||||
random_ether_addr(dev->dev_addr);
|
||||
printk(KERN_INFO "%s: generated random MAC address "
|
||||
"%.2x:%.2x:%.2x:%.2x:%.2x:%.2x.\n", dev->name,
|
||||
dev->dev_addr[0], dev->dev_addr[1],
|
||||
dev->dev_addr[2], dev->dev_addr[3],
|
||||
dev->dev_addr[4], dev->dev_addr[5]);
|
||||
}
|
||||
|
||||
napi_enable(&ep->napi);
|
||||
|
||||
if (ep93xx_start_hw(dev)) {
|
||||
|
@ -877,6 +868,9 @@ static int ep93xx_eth_probe(struct platform_device *pdev)
|
|||
ep->mii.mdio_write = ep93xx_mdio_write;
|
||||
ep->mdc_divisor = 40; /* Max HCLK 100 MHz, min MDIO clk 2.5 MHz. */
|
||||
|
||||
if (is_zero_ether_addr(dev->dev_addr))
|
||||
random_ether_addr(dev->dev_addr);
|
||||
|
||||
err = register_netdev(dev);
|
||||
if (err) {
|
||||
dev_err(&pdev->dev, "Failed to register netdev\n");
|
||||
|
|
Loading…
Reference in a new issue