summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/mwifiex/util.c
diff options
context:
space:
mode:
authorUjjal Roy2013-12-03 08:17:54 +0100
committerJohn W. Linville2013-12-09 21:35:29 +0100
commitf49c6e814274a12295dbd13e1c8ef2b7edd5ab87 (patch)
tree4c6c8fa3480eb431058d5fdc2ed3159d150a9ee9 /drivers/net/wireless/mwifiex/util.c
parentmwifiex: fix rx_pending count imbalance (diff)
downloadkernel-qcow2-linux-f49c6e814274a12295dbd13e1c8ef2b7edd5ab87.tar.gz
kernel-qcow2-linux-f49c6e814274a12295dbd13e1c8ef2b7edd5ab87.tar.xz
kernel-qcow2-linux-f49c6e814274a12295dbd13e1c8ef2b7edd5ab87.zip
mwifiex: correct RX byte count statistics
The skb is modified in processing the RX packet. Save the original packet length to a variable so that we can get the correct statistics update. 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/util.c')
-rw-r--r--drivers/net/wireless/mwifiex/util.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/mwifiex/util.c b/drivers/net/wireless/mwifiex/util.c
index 5d9e150f4111..9b82e225880c 100644
--- a/drivers/net/wireless/mwifiex/util.c
+++ b/drivers/net/wireless/mwifiex/util.c
@@ -191,6 +191,9 @@ int mwifiex_recv_packet(struct mwifiex_private *priv, struct sk_buff *skb)
if (!skb)
return -1;
+ priv->stats.rx_bytes += skb->len;
+ priv->stats.rx_packets++;
+
skb->dev = priv->netdev;
skb->protocol = eth_type_trans(skb, priv->netdev);
skb->ip_summed = CHECKSUM_NONE;
@@ -217,8 +220,6 @@ int mwifiex_recv_packet(struct mwifiex_private *priv, struct sk_buff *skb)
(skb->truesize > MWIFIEX_RX_DATA_BUF_SIZE))
skb->truesize += (skb->len - MWIFIEX_RX_DATA_BUF_SIZE);
- priv->stats.rx_bytes += skb->len;
- priv->stats.rx_packets++;
if (in_interrupt())
netif_rx(skb);
else