summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mwifiex/wmm.c
diff options
context:
space:
mode:
authorAvinash Patil <patila@marvell.com>2014-02-18 15:41:54 -0800
committerJohn W. Linville <linville@tuxdriver.com>2014-02-20 15:51:07 -0500
commit4f7ba432202c8330cc03ab959c6228d0de5dc4a3 (patch)
treead999e6e35ddb993c50645b2502f147390d927c4 /drivers/net/wireless/mwifiex/wmm.c
parent95320774fae71d7b22b970ef4267fcc4d1ad23d8 (diff)
downloadop-kernel-dev-4f7ba432202c8330cc03ab959c6228d0de5dc4a3.zip
op-kernel-dev-4f7ba432202c8330cc03ab959c6228d0de5dc4a3.tar.gz
mwifiex: clean pcie ring only when device is present
Write io memory to clean PCIe buffer only when PCIe device is present else this results into crash because of invalid memory access. Cc: <stable@vger.kernel.org> # 3.9+ Signed-off-by: Avinash Patil <patila@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/mwifiex/wmm.c')
-rw-r--r--drivers/net/wireless/mwifiex/wmm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/mwifiex/wmm.c b/drivers/net/wireless/mwifiex/wmm.c
index 13eaeed..981cf6e 100644
--- a/drivers/net/wireless/mwifiex/wmm.c
+++ b/drivers/net/wireless/mwifiex/wmm.c
@@ -559,7 +559,8 @@ mwifiex_clean_txrx(struct mwifiex_private *priv)
mwifiex_wmm_delete_all_ralist(priv);
memcpy(tos_to_tid, ac_to_tid, sizeof(tos_to_tid));
- if (priv->adapter->if_ops.clean_pcie_ring)
+ if (priv->adapter->if_ops.clean_pcie_ring &&
+ !priv->adapter->surprise_removed)
priv->adapter->if_ops.clean_pcie_ring(priv->adapter);
spin_unlock_irqrestore(&priv->wmm.ra_list_spinlock, flags);
}
OpenPOWER on IntegriCloud