diff options
author | Dedy Lansky <qca_dlansky@qca.qualcomm.com> | 2014-09-10 17:34:38 +0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-09-11 23:27:37 +0400 |
commit | f172b56309fbc4835b3f258df6865309dc02e80c (patch) | |
tree | 707d2f595e540cb02ab4f98f67ed04ca59ad4553 /drivers/net/wireless/ath/wil6210/pcie_bus.c | |
parent | 69778059734b38ea6f4aa9d31262ad03e77b1b06 (diff) | |
download | linux-f172b56309fbc4835b3f258df6865309dc02e80c.tar.xz |
wil6210: fix for memory corruption upon rmmod
Driver disabled PCI master before making sure HW is idle.
This caused memory corruption in case HW access system memory after
PCI master got disabled.
The fix is to change uninit sequence. Make sure FW/HW is idle before
disabling PCI
Signed-off-by: Dedy Lansky <qca_dlansky@qca.qualcomm.com>
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/wil6210/pcie_bus.c')
-rw-r--r-- | drivers/net/wireless/ath/wil6210/pcie_bus.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/wil6210/pcie_bus.c b/drivers/net/wireless/ath/wil6210/pcie_bus.c index d2a1ca289d90..264c0f06ea0f 100644 --- a/drivers/net/wireless/ath/wil6210/pcie_bus.c +++ b/drivers/net/wireless/ath/wil6210/pcie_bus.c @@ -233,8 +233,8 @@ static void wil_pcie_remove(struct pci_dev *pdev) wil_dbg_misc(wil, "%s()\n", __func__); wil6210_debugfs_remove(wil); - wil_if_pcie_disable(wil); wil_if_remove(wil); + wil_if_pcie_disable(wil); if (wil->platform_ops.uninit) wil->platform_ops.uninit(wil->platform_handle); wil_if_free(wil); |