Staging: Merge staging-next into Linus's tree
[firefly-linux-kernel-4.4.55.git] / drivers / staging / batman-adv / hard-interface.c
index 9bfd0365abbb6e73446a73c616719c80a0024428..92c216a568856b4592e6a38427163bcec386aab3 100644 (file)
@@ -72,7 +72,7 @@ static int is_valid_iface(struct net_device *net_dev)
 #endif
 
        /* Device is being bridged */
-       /* if (net_dev->br_port != NULL)
+       /* if (net_dev->priv_flags & IFF_BRIDGE_PORT)
                return 0; */
 
        return 1;
@@ -442,6 +442,8 @@ int batman_skb_recv(struct sk_buff *skb, struct net_device *dev,
        struct bat_priv *bat_priv = netdev_priv(soft_device);
        struct batman_packet *batman_packet;
        struct batman_if *batman_if;
+       struct net_device_stats *stats;
+       struct rtnl_link_stats64 temp;
        int ret;
 
        skb = skb_share_check(skb, GFP_ATOMIC);
@@ -477,6 +479,12 @@ int batman_skb_recv(struct sk_buff *skb, struct net_device *dev,
        if (batman_if->if_status != IF_ACTIVE)
                goto err_free;
 
+       stats = (struct net_device_stats *)dev_get_stats(skb->dev, &temp);
+       if (stats) {
+               stats->rx_packets++;
+               stats->rx_bytes += skb->len;
+       }
+
        batman_packet = (struct batman_packet *)skb->data;
 
        if (batman_packet->version != COMPAT_VERSION) {