Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b27b5486 authored by Wang Hai's avatar Wang Hai Committed by Greg Kroah-Hartman
Browse files

sis900: Fix missing pci_disable_device() in probe and remove



[ 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: 1da177e4 ("Linux-2.6.12-rc2")
Reported-by: default avatarHulk Robot <hulkci@huawei.com>
Signed-off-by: default avatarWang Hai <wanghai38@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 4f362e8b
Loading
Loading
Loading
Loading
+2 −5
Original line number Diff line number Diff line
@@ -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