aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>2013-04-29 05:49:42 -0400
committerDavid S. Miller <davem@davemloft.net>2013-04-30 15:37:08 -0400
commitff6e722870ddca2808b5d46159e58904f8ededf1 (patch)
treee773cb5bd9f82ce804d26dfb4bdfb79793034aa4 /drivers/net
parent3b54912f9cd167641b91d4a697bd742f70e534fe (diff)
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')
-rw-r--r--drivers/net/ethernet/renesas/sh_eth.c5
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 e46da1e8f98e..33dc6f2418f2 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)
2735 2735
2736 /* read and set MAC address */ 2736 /* read and set MAC address */
2737 read_mac_address(ndev, pd->mac_addr); 2737 read_mac_address(ndev, pd->mac_addr);
2738 if (!is_valid_ether_addr(ndev->dev_addr)) {
2739 dev_warn(&pdev->dev,
2740 "no valid MAC address supplied, using a random one.\n");
2741 eth_hw_addr_random(ndev);
2742 }
2738 2743
2739 /* ioremap the TSU registers */ 2744 /* ioremap the TSU registers */
2740 if (mdp->cd->tsu) { 2745 if (mdp->cd->tsu) {