diff options
author | Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> | 2013-04-29 09:49:42 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-04-30 19:37:08 (GMT) |
commit | ff6e722870ddca2808b5d46159e58904f8ededf1 (patch) | |
tree | e773cb5bd9f82ce804d26dfb4bdfb79793034aa4 /drivers/net/ethernet | |
parent | 3b54912f9cd167641b91d4a697bd742f70e534fe (diff) | |
download | linux-ff6e722870ddca2808b5d46159e58904f8ededf1.tar.xz |
sh_eth: use random MAC address if no valid one supplied
On Renesas R-Car based development boards, although a MAC address is printed on
all the Ethernet port labels, U-Boot doesn't write a valid MAC address to the
Ether MAHR/MALR registers (there's no storage provided for the Ether MAC address
either), so we have to resort to using a random MAC address...
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet')
-rw-r--r-- | drivers/net/ethernet/renesas/sh_eth.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c index e46da1e..33dc6f2 100644 --- a/drivers/net/ethernet/renesas/sh_eth.c +++ b/drivers/net/ethernet/renesas/sh_eth.c @@ -2735,6 +2735,11 @@ static int sh_eth_drv_probe(struct platform_device *pdev) /* read and set MAC address */ read_mac_address(ndev, pd->mac_addr); + if (!is_valid_ether_addr(ndev->dev_addr)) { + dev_warn(&pdev->dev, + "no valid MAC address supplied, using a random one.\n"); + eth_hw_addr_random(ndev); + } /* ioremap the TSU registers */ if (mdp->cd->tsu) { |