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

Commit 7683fe01 authored by Jia-Ju Bai's avatar Jia-Ju Bai Committed by Kalle Valo
Browse files

rt2x00pci: Disable memory-write-invalidate when the driver exits



The driver calls pci_set_mwi to enable memory-write-invalidate when it
is initialized, but does not call pci_clear_mwi when it is removed. Many
other drivers calls pci_clear_mwi when pci_set_mwi is called, such as
r8169, 8139cp and e1000.

This patch adds pci_clear_mwi in error handling and removal procedure,
which can fix the problem.

Signed-off-by: default avatarJia-Ju Bai <baijiaju1990@163.com>
Acked-by: default avatarHelmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 8ba83d4d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -149,6 +149,7 @@ int rt2x00pci_probe(struct pci_dev *pci_dev, const struct rt2x00_ops *ops)
	ieee80211_free_hw(hw);

exit_release_regions:
	pci_clear_mwi(pci_dev);
	pci_release_regions(pci_dev);

exit_disable_device:
@@ -173,6 +174,7 @@ void rt2x00pci_remove(struct pci_dev *pci_dev)
	/*
	 * Free the PCI device data.
	 */
	pci_clear_mwi(pci_dev);
	pci_disable_device(pci_dev);
	pci_release_regions(pci_dev);
}