summaryrefslogtreecommitdiff
path: root/target/linux/brcm47xx/patches-3.2/0023-bcma-use-randoom-mac-address-as-long-as-reading-it-o.patch
blob: fee1d0a5a62a4f6239c55fdd729f13b07db20d1c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
From e6730c06cfc827d715f43e9bd276ae939bb86af9 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Fri, 22 Jul 2011 17:11:51 +0200
Subject: [PATCH 23/26] bcma: use randoom mac address as long as reading it out does not work


Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 drivers/bcma/sprom.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

--- a/drivers/bcma/sprom.c
+++ b/drivers/bcma/sprom.c
@@ -13,6 +13,7 @@
 #include <linux/io.h>
 #include <linux/dma-mapping.h>
 #include <linux/slab.h>
+#include <linux/etherdevice.h>
 
 #define SPOFF(offset)	((offset) / sizeof(u16))
 
@@ -214,8 +215,10 @@ int bcma_sprom_get(struct bcma_bus *bus)
 	if (!bus->drv_cc.core)
 		return -EOPNOTSUPP;
 
-	if (!(bus->drv_cc.capabilities & BCMA_CC_CAP_SPROM))
+	if (!(bus->drv_cc.capabilities & BCMA_CC_CAP_SPROM)) {
+		random_ether_addr(bus->sprom.il0mac);
 		return -ENOENT;
+	}
 
 	sprom = kcalloc(SSB_SPROMSIZE_WORDS_R4, sizeof(u16),
 			GFP_KERNEL);