Skip to content

Commit

Permalink
ep93xx-eth: check for zero MAC address on probe, not on device open
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Florian Fainelli authored and David S. Miller committed Nov 30, 2009
1 parent d5ccd67 commit 3c91c7a
Showing 1 changed file with 3 additions and 9 deletions.
12 changes: 3 additions & 9 deletions drivers/net/arm/ep93xx_eth.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)) {
Expand Down Expand Up @@ -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");
Expand Down

0 comments on commit 3c91c7a

Please sign in to comment.