diff options
Diffstat (limited to 'drivers/net/macb.c')
| -rw-r--r-- | drivers/net/macb.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/macb.c b/drivers/net/macb.c index 0a5745a854c..0496d16f9de 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c @@ -80,8 +80,12 @@ static void __init macb_get_hwaddr(struct macb *bp)  	addr[4] = top & 0xff;  	addr[5] = (top >> 8) & 0xff; -	if (is_valid_ether_addr(addr)) +	if (is_valid_ether_addr(addr)) {  		memcpy(bp->dev->dev_addr, addr, sizeof(addr)); +	} else { +		dev_info(&bp->pdev->dev, "invalid hw address, using random\n"); +		random_ether_addr(bp->dev->dev_addr); +	}  }  static int macb_mdio_read(struct mii_bus *bus, int mii_id, int regnum) @@ -161,7 +165,7 @@ static void macb_handle_link_change(struct net_device *dev)  	if (phydev->link != bp->link) {  		if (phydev->link) -			netif_schedule(dev); +			netif_tx_schedule_all(dev);  		else {  			bp->speed = 0;  			bp->duplex = -1;  | 
