| From 339eefabe3bd2e80425aac4826b5e7f2f66ed2b6 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 28 Jul 2021 20:11:07 +0800 |
| Subject: sis900: Fix missing pci_disable_device() in probe and remove |
| |
| From: Wang Hai <wanghai38@huawei.com> |
| |
| [ Upstream commit 89fb62fde3b226f99b7015280cf132e2a7438edf ] |
| |
| 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 <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> |
| --- |
| drivers/net/ethernet/sis/sis900.c | 7 ++----- |
| 1 file changed, 2 insertions(+), 5 deletions(-) |
| |
| diff --git a/drivers/net/ethernet/sis/sis900.c b/drivers/net/ethernet/sis/sis900.c |
| index ae9b983e8e5c..4a0e69a2d4f5 100644 |
| --- a/drivers/net/ethernet/sis/sis900.c |
| +++ b/drivers/net/ethernet/sis/sis900.c |
| @@ -442,7 +442,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)); |
| @@ -468,7 +468,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); |
| @@ -576,8 +576,6 @@ err_unmap_tx: |
| 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; |
| @@ -2425,7 +2423,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 |
| -- |
| 2.30.2 |
| |