mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-16 07:35:14 +00:00
sis900: Fix missing pci_disable_device() in probe and remove
[ Upstream commit89fb62fde3
] Replace pci_enable_device() with pcim_enable_device(), pci_disable_device() and pci_release_regions() will be called in release automatically. Fixes:1da177e4c3
("Linux-2.6.12-rc2") Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Wang Hai <wanghai38@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
fdb90238e5
commit
6bee388566
1 changed files with 2 additions and 5 deletions
|
@ -441,7 +441,7 @@ static int sis900_probe(struct pci_dev *pci_dev,
|
|||
#endif
|
||||
|
||||
/* setup various bits in PCI command register */
|
||||
ret = pci_enable_device(pci_dev);
|
||||
ret = pcim_enable_device(pci_dev);
|
||||
if(ret) return ret;
|
||||
|
||||
i = pci_set_dma_mask(pci_dev, DMA_BIT_MASK(32));
|
||||
|
@ -467,7 +467,7 @@ static int sis900_probe(struct pci_dev *pci_dev,
|
|||
ioaddr = pci_iomap(pci_dev, 0, 0);
|
||||
if (!ioaddr) {
|
||||
ret = -ENOMEM;
|
||||
goto err_out_cleardev;
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
sis_priv = netdev_priv(net_dev);
|
||||
|
@ -575,8 +575,6 @@ static int sis900_probe(struct pci_dev *pci_dev,
|
|||
sis_priv->tx_ring_dma);
|
||||
err_out_unmap:
|
||||
pci_iounmap(pci_dev, ioaddr);
|
||||
err_out_cleardev:
|
||||
pci_release_regions(pci_dev);
|
||||
err_out:
|
||||
free_netdev(net_dev);
|
||||
return ret;
|
||||
|
@ -2421,7 +2419,6 @@ static void sis900_remove(struct pci_dev *pci_dev)
|
|||
sis_priv->tx_ring_dma);
|
||||
pci_iounmap(pci_dev, sis_priv->ioaddr);
|
||||
free_netdev(net_dev);
|
||||
pci_release_regions(pci_dev);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
|
|
Loading…
Reference in a new issue