diff options
author | Avinash Patil <patila@marvell.com> | 2014-02-18 15:41:54 -0800 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-02-20 15:51:07 -0500 |
commit | 4f7ba432202c8330cc03ab959c6228d0de5dc4a3 (patch) | |
tree | ad999e6e35ddb993c50645b2502f147390d927c4 /drivers/net/wireless/mwifiex/wmm.c | |
parent | 95320774fae71d7b22b970ef4267fcc4d1ad23d8 (diff) | |
download | op-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.c | 3 |
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); } |