Skip to content

Commit 89fb62f

Browse files
Wang Haidavem330
Wang Hai
authored andcommitted
sis900: 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 1e60ceb commit 89fb62f

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

drivers/net/ethernet/sis/sis900.c

+2-5
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,7 @@ static int sis900_probe(struct pci_dev *pci_dev,
443443
#endif
444444

445445
/* setup various bits in PCI command register */
446-
ret = pci_enable_device(pci_dev);
446+
ret = pcim_enable_device(pci_dev);
447447
if(ret) return ret;
448448

449449
i = dma_set_mask(&pci_dev->dev, DMA_BIT_MASK(32));
@@ -469,7 +469,7 @@ static int sis900_probe(struct pci_dev *pci_dev,
469469
ioaddr = pci_iomap(pci_dev, 0, 0);
470470
if (!ioaddr) {
471471
ret = -ENOMEM;
472-
goto err_out_cleardev;
472+
goto err_out;
473473
}
474474

475475
sis_priv = netdev_priv(net_dev);
@@ -581,8 +581,6 @@ static int sis900_probe(struct pci_dev *pci_dev,
581581
sis_priv->tx_ring_dma);
582582
err_out_unmap:
583583
pci_iounmap(pci_dev, ioaddr);
584-
err_out_cleardev:
585-
pci_release_regions(pci_dev);
586584
err_out:
587585
free_netdev(net_dev);
588586
return ret;
@@ -2499,7 +2497,6 @@ static void sis900_remove(struct pci_dev *pci_dev)
24992497
sis_priv->tx_ring_dma);
25002498
pci_iounmap(pci_dev, sis_priv->ioaddr);
25012499
free_netdev(net_dev);
2502-
pci_release_regions(pci_dev);
25032500
}
25042501

25052502
static int __maybe_unused sis900_suspend(struct device *dev)

0 commit comments

Comments
 (0)