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:
committed by
David S. Miller
parent
d5ccd67bb7
commit
3c91c7ae84
@@ -628,15 +628,6 @@ static int ep93xx_open(struct net_device *dev)
|
|||||||
if (ep93xx_alloc_buffers(ep))
|
if (ep93xx_alloc_buffers(ep))
|
||||||
return -ENOMEM;
|
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);
|
napi_enable(&ep->napi);
|
||||||
|
|
||||||
if (ep93xx_start_hw(dev)) {
|
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->mii.mdio_write = ep93xx_mdio_write;
|
||||||
ep->mdc_divisor = 40; /* Max HCLK 100 MHz, min MDIO clk 2.5 MHz. */
|
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);
|
err = register_netdev(dev);
|
||||||
if (err) {
|
if (err) {
|
||||||
dev_err(&pdev->dev, "Failed to register netdev\n");
|
dev_err(&pdev->dev, "Failed to register netdev\n");
|
||||||
|
Reference in New Issue
Block a user