summary refs log tree commit diff
path: root/drivers/net/r6040.c
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2009-01-08 15:04:45 +0000
committerDavid S. Miller <davem@davemloft.net>2009-01-11 00:03:38 -0800
commit9f1136182f732f6e847fc43bd88b579739d5c211 (patch)
tree97f375925a18791b266c444443096555c31bf9db /drivers/net/r6040.c
parent58854c6b411e9e9f46b39bd7092022f639c41904 (diff)
downloadlinux-9f1136182f732f6e847fc43bd88b579739d5c211.tar.gz
r6040: generate random ethernet MAC address when not initialized
This patch makes the ethernet driver assign a random ethernet
MAC address when the bootloader does not set it.

Signed-off-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/r6040.c')
-rw-r--r--drivers/net/r6040.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/r6040.c b/drivers/net/r6040.c
index b59837e80750..8b5d50927ebf 100644
--- a/drivers/net/r6040.c
+++ b/drivers/net/r6040.c
@@ -1153,8 +1153,10 @@ static int __devinit r6040_init_one(struct pci_dev *pdev,
 
 	/* Some bootloader/BIOSes do not initialize
 	 * MAC address, warn about that */
-	if (!(adrp[0] || adrp[1] || adrp[2]))
-		printk(KERN_WARNING DRV_NAME ": MAC address not initialized\n");
+	if (!(adrp[0] || adrp[1] || adrp[2])) {
+		printk(KERN_WARNING DRV_NAME ": MAC address not initialized, generating random\n");
+		random_ether_addr(dev->dev_addr);
+	}
 
 	/* Link new device into r6040_root_dev */
 	lp->pdev = pdev;