aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mwifiex
diff options
context:
space:
mode:
authorAvinash Patil <patila@marvell.com>2013-02-16 00:37:54 -0500
committerJohn W. Linville <linville@tuxdriver.com>2013-02-18 15:30:39 -0500
commit3d48203847c096afaddb2ba3c0623cfe49e91fa3 (patch)
treeab81431f3f06ced7230883604e3608b6938224fb /drivers/net/wireless/mwifiex
parenta9908ebf5ceb044eee6d9fda018d33cbf27df719 (diff)
mwifiex: fix empty TX ring check for PCIe8897 while unloading driver
While unloading driver, we free all pending TX packets by flushing TX ring. There is unhandled case for PCIE8897 while checking for ring empty condition. This patch adds the handling by calling mwifiex_pcie_txbd_empty(). Signed-off-by: Avinash Patil <patila@marvell.com> Signed-off-by: Yogesh Ashok Powar <yogeshp@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')
-rw-r--r--drivers/net/wireless/mwifiex/pcie.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/net/wireless/mwifiex/pcie.c b/drivers/net/wireless/mwifiex/pcie.c
index 492655c048d1..4b54bcf382f3 100644
--- a/drivers/net/wireless/mwifiex/pcie.c
+++ b/drivers/net/wireless/mwifiex/pcie.c
@@ -1023,10 +1023,7 @@ static int mwifiex_pcie_send_data_complete(struct mwifiex_adapter *adapter)
1023 adapter->data_sent = false; 1023 adapter->data_sent = false;
1024 1024
1025 if (card->txbd_flush) { 1025 if (card->txbd_flush) {
1026 if (((card->txbd_wrptr & reg->tx_mask) == 1026 if (mwifiex_pcie_txbd_empty(card, card->txbd_rdptr))
1027 (card->txbd_rdptr & reg->tx_mask)) &&
1028 ((card->txbd_wrptr & reg->tx_rollover_ind) !=
1029 (card->txbd_rdptr & reg->tx_rollover_ind)))
1030 card->txbd_flush = 0; 1027 card->txbd_flush = 0;
1031 else 1028 else
1032 mwifiex_clean_pcie_ring_buf(adapter); 1029 mwifiex_clean_pcie_ring_buf(adapter);