소스 검색

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>
Florian Fainelli 16 년 전
부모
커밋
9f1136182f
1개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 4 2
      drivers/net/r6040.c

+ 4 - 2
drivers/net/r6040.c

@@ -1153,8 +1153,10 @@ static int __devinit r6040_init_one(struct pci_dev *pdev,
 
 
 	/* Some bootloader/BIOSes do not initialize
 	/* Some bootloader/BIOSes do not initialize
 	 * MAC address, warn about that */
 	 * 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 */
 	/* Link new device into r6040_root_dev */
 	lp->pdev = pdev;
 	lp->pdev = pdev;