Skip to content

Commit 76a16be

Browse files
Wang Haidavem330
Wang Hai
authored andcommitted
tulip: windbond-840: Fix missing pci_disable_device() in probe and remove
Replace pci_enable_device() with pcim_enable_device(), pci_disable_device() and pci_release_regions() will be called in release automatically. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Reported-by: Hulk Robot <[email protected]> Signed-off-by: Wang Hai <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 557fb58 commit 76a16be

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

drivers/net/ethernet/dec/tulip/winbond-840.c

+2-5
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ static int w840_probe1(struct pci_dev *pdev, const struct pci_device_id *ent)
357357
int i, option = find_cnt < MAX_UNITS ? options[find_cnt] : 0;
358358
void __iomem *ioaddr;
359359

360-
i = pci_enable_device(pdev);
360+
i = pcim_enable_device(pdev);
361361
if (i) return i;
362362

363363
pci_set_master(pdev);
@@ -379,7 +379,7 @@ static int w840_probe1(struct pci_dev *pdev, const struct pci_device_id *ent)
379379

380380
ioaddr = pci_iomap(pdev, TULIP_BAR, netdev_res_size);
381381
if (!ioaddr)
382-
goto err_out_free_res;
382+
goto err_out_netdev;
383383

384384
for (i = 0; i < 3; i++)
385385
((__le16 *)dev->dev_addr)[i] = cpu_to_le16(eeprom_read(ioaddr, i));
@@ -458,8 +458,6 @@ static int w840_probe1(struct pci_dev *pdev, const struct pci_device_id *ent)
458458

459459
err_out_cleardev:
460460
pci_iounmap(pdev, ioaddr);
461-
err_out_free_res:
462-
pci_release_regions(pdev);
463461
err_out_netdev:
464462
free_netdev (dev);
465463
return -ENODEV;
@@ -1526,7 +1524,6 @@ static void w840_remove1(struct pci_dev *pdev)
15261524
if (dev) {
15271525
struct netdev_private *np = netdev_priv(dev);
15281526
unregister_netdev(dev);
1529-
pci_release_regions(pdev);
15301527
pci_iounmap(pdev, np->base_addr);
15311528
free_netdev(dev);
15321529
}

0 commit comments

Comments
 (0)