mwifiex: do not decrease tx_pending for AMSDU packet once more
authorXinming Hu <huxm@marvell.com>
Wed, 3 Jun 2015 11:29:47 +0000 (16:59 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 8 Jun 2015 08:42:05 +0000 (11:42 +0300)
Negative adapter->tx_pending is observed while running data traffic,
because tx_pending is decreased once more for AMSDU packet.

since tx_pending have been decreased for all the source MSDU packets,
we don't need to update once more for AMSDU packet.

Signed-off-by: Xinming Hu <huxm@marvell.com>
Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/mwifiex/txrx.c

index c4c7d8d9e544b5ea59700b9b781ea413a00f889d..5ed9b794053e760163dda372f205fd28463a9efe 100644 (file)
@@ -319,11 +319,11 @@ int mwifiex_write_data_complete(struct mwifiex_adapter *adapter,
                priv->stats.tx_errors++;
        }
 
-       if (tx_info->flags & MWIFIEX_BUF_FLAG_BRIDGED_PKT) {
+       if (tx_info->flags & MWIFIEX_BUF_FLAG_BRIDGED_PKT)
                atomic_dec_return(&adapter->pending_bridged_pkts);
-               if (tx_info->flags & MWIFIEX_BUF_FLAG_AGGR_PKT)
-                       goto done;
-       }
+
+       if (tx_info->flags & MWIFIEX_BUF_FLAG_AGGR_PKT)
+               goto done;
 
        if (aggr)
                /* For skb_aggr, do not wake up tx queue */