staging: most: add statistics for dropped packets
authorChristian Gromm <christian.gromm@microchip.com>
Tue, 22 Dec 2015 09:53:08 +0000 (10:53 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Feb 2016 01:34:58 +0000 (17:34 -0800)
This patch adds a counter for dropped packets. It needed for statistical
analysis.

Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/most/aim-network/networking.c

index 3c7beb03871daa866cc018a663d05d4b0468b3af..2f42de44d05137cf9e894675c71759934832b345 100644 (file)
@@ -431,6 +431,7 @@ static int aim_rx_data(struct mbo *mbo)
        u32 len = mbo->processed_length;
        struct sk_buff *skb;
        struct net_device *dev;
+       unsigned int skb_len;
 
        nd = get_net_dev_context(mbo->ifp);
        if (!nd || !nd->channels_opened || nd->rx.ch_id != mbo->hdm_channel_id)
@@ -482,9 +483,13 @@ static int aim_rx_data(struct mbo *mbo)
 
        memcpy(skb_put(skb, len), buf, len);
        skb->protocol = eth_type_trans(skb, dev);
-       dev->stats.rx_packets++;
-       dev->stats.rx_bytes += skb->len;
-       netif_rx(skb);
+       skb_len = skb->len;
+       if (netif_rx(skb) == NET_RX_SUCCESS) {
+               dev->stats.rx_packets++;
+               dev->stats.rx_bytes += skb_len;
+       } else {
+               dev->stats.rx_dropped++;
+       }
 
 out:
        most_put_mbo(mbo);