|
@@ -509,10 +509,10 @@ static int __devinit sis900_probe(struct pci_dev *pci_dev,
|
|
|
else
|
|
|
ret = sis900_get_mac_addr(pci_dev, net_dev);
|
|
|
|
|
|
- if (ret == 0) {
|
|
|
- printk(KERN_WARNING "%s: Cannot read MAC address.\n", dev_name);
|
|
|
- ret = -ENODEV;
|
|
|
- goto err_unmap_rx;
|
|
|
+ if (!ret || !is_valid_ether_addr(net_dev->dev_addr)) {
|
|
|
+ random_ether_addr(net_dev->dev_addr);
|
|
|
+ printk(KERN_WARNING "%s: Unreadable or invalid MAC address,"
|
|
|
+ "using random generated one\n", dev_name);
|
|
|
}
|
|
|
|
|
|
/* 630ET : set the mii access mode as software-mode */
|