|
@@ -1552,22 +1552,26 @@ pcnet32_probe_pci(struct pci_dev *pdev, const struct pci_device_id *ent)
|
|
|
if (!ioaddr) {
|
|
|
if (pcnet32_debug & NETIF_MSG_PROBE)
|
|
|
pr_err("card has no PCI IO resources, aborting\n");
|
|
|
- return -ENODEV;
|
|
|
+ err = -ENODEV;
|
|
|
+ goto err_disable_dev;
|
|
|
}
|
|
|
|
|
|
err = pci_set_dma_mask(pdev, PCNET32_DMA_MASK);
|
|
|
if (err) {
|
|
|
if (pcnet32_debug & NETIF_MSG_PROBE)
|
|
|
pr_err("architecture does not support 32bit PCI busmaster DMA\n");
|
|
|
- return err;
|
|
|
+ goto err_disable_dev;
|
|
|
}
|
|
|
if (!request_region(ioaddr, PCNET32_TOTAL_SIZE, "pcnet32_probe_pci")) {
|
|
|
if (pcnet32_debug & NETIF_MSG_PROBE)
|
|
|
pr_err("io address range already allocated\n");
|
|
|
- return -EBUSY;
|
|
|
+ err = -EBUSY;
|
|
|
+ goto err_disable_dev;
|
|
|
}
|
|
|
|
|
|
err = pcnet32_probe1(ioaddr, 1, pdev);
|
|
|
+
|
|
|
+err_disable_dev:
|
|
|
if (err < 0)
|
|
|
pci_disable_device(pdev);
|
|
|
|