]> err.no Git - linux-2.6/blobdiff - drivers/net/dm9000.c
[PATCH] DM9000 - check for MAC left in by bootloader
[linux-2.6] / drivers / net / dm9000.c
index 631e0d9f2e4021390e41d1a12c765225af4c135c..e6bdbd3a6796a748dc10291c343a059841065cbd 100644 (file)
@@ -559,6 +559,13 @@ dm9000_probe(struct platform_device *pdev)
        for (i = 0; i < 6; i++)
                ndev->dev_addr[i] = db->srom[i];
 
+       if (!is_valid_ether_addr(ndev->dev_addr)) {
+               /* try reading from mac */
+
+               for (i = 0; i < 6; i++)
+                       ndev->dev_addr[i] = ior(db, i+DM9000_PAR);
+       }
+
        if (!is_valid_ether_addr(ndev->dev_addr))
                printk("%s: Invalid ethernet MAC address.  Please "
                       "set using ifconfig\n", ndev->name);