static int __devinit hp100_pci_probe (struct pci_dev *pdev,
const struct pci_device_id *ent)
{
- struct net_device *dev = alloc_etherdev(sizeof(struct hp100_private));
- int ioaddr = pci_resource_start(pdev, 0);
+ struct net_device *dev;
+ int ioaddr;
u_short pci_command;
int err;
- if (!dev)
- return -ENOMEM;
+ if (pci_enable_device(pdev))
+ return -ENODEV;
- if (pci_enable_device(pdev)) {
- err = -ENODEV;
+ dev = alloc_etherdev(sizeof(struct hp100_private));
+ if (!dev) {
+ err = -ENOMEM;
goto out0;
}
pci_write_config_word(pdev, PCI_COMMAND, pci_command);
}
-
+ ioaddr = pci_resource_start(pdev, 0);
err = hp100_probe1(dev, ioaddr, HP100_BUS_PCI, pdev);
if (err)
goto out1;
release_region(dev->base_addr, HP100_REGION_SIZE);
out1:
free_netdev(dev);
- pci_disable_device(pdev);
out0:
+ pci_disable_device(pdev);
return err;
}