]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/macb.c
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
[linux-2.6-omap-h63xx.git] / drivers / net / macb.c
index 0a5745a854c7bbbe562a5f4e7b88e464a8891b0d..0496d16f9de5f39a690597991c1bdcb4cc0eca9b 100644 (file)
@@ -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;