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 0a5745a854c7..0496d16f9de5 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c | |||
| @@ -80,8 +80,12 @@ static void __init macb_get_hwaddr(struct macb *bp) | |||
| 80 | addr[4] = top & 0xff; | 80 | addr[4] = top & 0xff; |
| 81 | addr[5] = (top >> 8) & 0xff; | 81 | addr[5] = (top >> 8) & 0xff; |
| 82 | 82 | ||
| 83 | if (is_valid_ether_addr(addr)) | 83 | if (is_valid_ether_addr(addr)) { |
| 84 | memcpy(bp->dev->dev_addr, addr, sizeof(addr)); | 84 | memcpy(bp->dev->dev_addr, addr, sizeof(addr)); |
| 85 | } else { | ||
| 86 | dev_info(&bp->pdev->dev, "invalid hw address, using random\n"); | ||
| 87 | random_ether_addr(bp->dev->dev_addr); | ||
| 88 | } | ||
| 85 | } | 89 | } |
| 86 | 90 | ||
| 87 | static int macb_mdio_read(struct mii_bus *bus, int mii_id, int regnum) | 91 | 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) | |||
| 161 | 165 | ||
| 162 | if (phydev->link != bp->link) { | 166 | if (phydev->link != bp->link) { |
| 163 | if (phydev->link) | 167 | if (phydev->link) |
| 164 | netif_schedule(dev); | 168 | netif_tx_schedule_all(dev); |
| 165 | else { | 169 | else { |
| 166 | bp->speed = 0; | 170 | bp->speed = 0; |
| 167 | bp->duplex = -1; | 171 | bp->duplex = -1; |
