summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2009-01-08 16:04:45 +0100
committerDavid S. Miller <davem@davemloft.net>2009-01-11 09:03:38 +0100
commit9f1136182f732f6e847fc43bd88b579739d5c211 (patch)
tree97f375925a18791b266c444443096555c31bf9db
parentr6040: fix ifconfig down and freeing of tx/rx descriptors (diff)
downloadlinux-9f1136182f732f6e847fc43bd88b579739d5c211.tar.xz
linux-9f1136182f732f6e847fc43bd88b579739d5c211.zip
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>
-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;