提交 dbdc6927 编写于 作者: W Wang Hai 提交者: Yang Yingliang

sis900: Fix missing pci_disable_device() in probe and remove

stable inclusion
from linux-4.19.201
commit 6bee38856647fa679bf08966be7f0c84a3db9994

--------------------------------

[ Upstream commit 89fb62fd ]

Replace pci_enable_device() with pcim_enable_device(),
pci_disable_device() and pci_release_regions() will be
called in release automatically.

Fixes: 1da177e4 ("Linux-2.6.12-rc2")
Reported-by: NHulk Robot <hulkci@huawei.com>
Signed-off-by: NWang Hai <wanghai38@huawei.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
Signed-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 4c45d245
...@@ -441,7 +441,7 @@ static int sis900_probe(struct pci_dev *pci_dev, ...@@ -441,7 +441,7 @@ static int sis900_probe(struct pci_dev *pci_dev,
#endif #endif
/* setup various bits in PCI command register */ /* setup various bits in PCI command register */
ret = pci_enable_device(pci_dev); ret = pcim_enable_device(pci_dev);
if(ret) return ret; if(ret) return ret;
i = pci_set_dma_mask(pci_dev, DMA_BIT_MASK(32)); i = pci_set_dma_mask(pci_dev, DMA_BIT_MASK(32));
...@@ -467,7 +467,7 @@ static int sis900_probe(struct pci_dev *pci_dev, ...@@ -467,7 +467,7 @@ static int sis900_probe(struct pci_dev *pci_dev,
ioaddr = pci_iomap(pci_dev, 0, 0); ioaddr = pci_iomap(pci_dev, 0, 0);
if (!ioaddr) { if (!ioaddr) {
ret = -ENOMEM; ret = -ENOMEM;
goto err_out_cleardev; goto err_out;
} }
sis_priv = netdev_priv(net_dev); sis_priv = netdev_priv(net_dev);
...@@ -575,8 +575,6 @@ static int sis900_probe(struct pci_dev *pci_dev, ...@@ -575,8 +575,6 @@ static int sis900_probe(struct pci_dev *pci_dev,
sis_priv->tx_ring_dma); sis_priv->tx_ring_dma);
err_out_unmap: err_out_unmap:
pci_iounmap(pci_dev, ioaddr); pci_iounmap(pci_dev, ioaddr);
err_out_cleardev:
pci_release_regions(pci_dev);
err_out: err_out:
free_netdev(net_dev); free_netdev(net_dev);
return ret; return ret;
...@@ -2421,7 +2419,6 @@ static void sis900_remove(struct pci_dev *pci_dev) ...@@ -2421,7 +2419,6 @@ static void sis900_remove(struct pci_dev *pci_dev)
sis_priv->tx_ring_dma); sis_priv->tx_ring_dma);
pci_iounmap(pci_dev, sis_priv->ioaddr); pci_iounmap(pci_dev, sis_priv->ioaddr);
free_netdev(net_dev); free_netdev(net_dev);
pci_release_regions(pci_dev);
} }
#ifdef CONFIG_PM #ifdef CONFIG_PM
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册