Index: linux-2.6.29/drivers/net/dm9000.c =================================================================== --- linux-2.6.29.orig/drivers/net/dm9000.c 2009-11-17 09:31:34.789839908 -0600 +++ linux-2.6.29/drivers/net/dm9000.c 2009-11-17 12:53:58.494345290 -0600 @@ -1407,9 +1407,14 @@ ndev->dev_addr[i] = ior(db, i+DM9000_PAR); } + if (!is_valid_ether_addr(ndev->dev_addr)){ + printk("Unable to read MAC address: Generating random value ...\n"); + random_ether_addr(ndev->dev_addr); + printk(KERN_INFO "The random generated MAC address: %pM will be assigned to your device\n", ndev->dev_addr); + } + if (!is_valid_ether_addr(ndev->dev_addr)) - dev_warn(db->dev, "%s: Invalid ethernet MAC address. Please " - "set using ifconfig\n", ndev->name); + printk("Failed to assigned a random MAC address\n"); platform_set_drvdata(pdev, ndev); ret = register_netdev(ndev);