summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mwifiex/uap_txrx.c
diff options
context:
space:
mode:
authorUjjal Roy2013-12-03 08:17:53 +0100
committerJohn W. Linville2013-12-09 21:35:29 +0100
commitca8d6dfc929ad6e59eb523e7c057804b55e5673e (patch)
tree6aff0899c03f73a85ddc00caf7006544c5cde4f5 /drivers/net/wireless/mwifiex/uap_txrx.c
parentmwifiex: avoid using variable name eth_hdr (diff)
downloadkernel-qcow2-linux-ca8d6dfc929ad6e59eb523e7c057804b55e5673e.tar.gz
kernel-qcow2-linux-ca8d6dfc929ad6e59eb523e7c057804b55e5673e.tar.xz
kernel-qcow2-linux-ca8d6dfc929ad6e59eb523e7c057804b55e5673e.zip
mwifiex: fix rx_pending count imbalance
RX packets are handled in different paths. Not all paths have decrement of rx_pending counter. This patch fixes the counter imbalance. Signed-off-by: Ujjal Roy <royujjal@gmail.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/uap_txrx.c')
-rw-r--r--drivers/net/wireless/mwifiex/uap_txrx.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/net/wireless/mwifiex/uap_txrx.c b/drivers/net/wireless/mwifiex/uap_txrx.c
index a0bd954b3ab2..6c0a31a8df91 100644
--- a/drivers/net/wireless/mwifiex/uap_txrx.c
+++ b/drivers/net/wireless/mwifiex/uap_txrx.c
@@ -267,12 +267,7 @@ int mwifiex_process_uap_rx_packet(struct mwifiex_private *priv,
skb->len, le16_to_cpu(uap_rx_pd->rx_pkt_offset),
le16_to_cpu(uap_rx_pd->rx_pkt_length));
priv->stats.rx_dropped++;
-
- if (adapter->if_ops.data_complete)
- adapter->if_ops.data_complete(adapter, skb);
- else
- dev_kfree_skb_any(skb);
-
+ dev_kfree_skb_any(skb);
return 0;
}
@@ -326,12 +321,8 @@ int mwifiex_process_uap_rx_packet(struct mwifiex_private *priv,
uap_rx_pd->priority, ta, pkt_type,
skb);
- if (ret || (rx_pkt_type == PKT_TYPE_BAR)) {
- if (adapter->if_ops.data_complete)
- adapter->if_ops.data_complete(adapter, skb);
- else
- dev_kfree_skb_any(skb);
- }
+ if (ret || (rx_pkt_type == PKT_TYPE_BAR))
+ dev_kfree_skb_any(skb);
if (ret)
priv->stats.rx_dropped++;