提交 fae87592 编写于 作者: S Stephen Hemminger 提交者: Jeff Garzik

skge: handle zero address at open

Some motherboards are broken and have no address set. Failing at probe time
prevents the device from ever being used (like to download a fixed BIOS). Instead
warn on probe and check again when device is brought up. That way the address
can be set.
Signed-off-by: NStephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: NJeff Garzik <jeff@garzik.org>
上级 a7bed27d
......@@ -2373,6 +2373,9 @@ static int skge_up(struct net_device *dev)
size_t rx_size, tx_size;
int err;
if (!is_valid_ether_addr(dev->dev_addr))
return -EINVAL;
if (netif_msg_ifup(skge))
printk(KERN_INFO PFX "%s: enabling interface\n", dev->name);
......@@ -3567,11 +3570,10 @@ static int __devinit skge_probe(struct pci_dev *pdev,
if (!dev)
goto err_out_led_off;
/* Some motherboards are broken and has zero in ROM. */
if (!is_valid_ether_addr(dev->dev_addr)) {
printk(KERN_ERR PFX "%s: bad (zero?) ethernet address in rom\n",
printk(KERN_WARNING PFX "%s: bad (zero?) ethernet address in rom\n",
pci_name(pdev));
err = -EIO;
goto err_out_free_netdev;
}
err = register_netdev(dev);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册