Loading drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c +7 −3 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ rmnet_deliver_skb(struct sk_buff *skb, struct rmnet_port *port) skb_reset_transport_header(skb); skb_reset_network_header(skb); rmnet_vnd_rx_fixup(skb, skb->dev); rmnet_vnd_rx_fixup(skb->dev, skb->len); skb->pkt_type = PACKET_HOST; skb_set_mac_header(skb, 0); Loading Loading @@ -314,6 +314,7 @@ void rmnet_egress_handler(struct sk_buff *skb) struct rmnet_priv *priv; u8 mux_id; int err; u32 skb_len; sk_pacing_shift_update(skb->sk, 8); Loading @@ -326,13 +327,16 @@ void rmnet_egress_handler(struct sk_buff *skb) if (!port) goto drop; skb_len = skb->len; err = rmnet_map_egress_handler(skb, port, mux_id, orig_dev); if (err == -ENOMEM) goto drop; else if (err == -EINPROGRESS) else if (err == -EINPROGRESS) { rmnet_vnd_tx_fixup(orig_dev, skb_len); return; } rmnet_vnd_tx_fixup(skb, orig_dev); rmnet_vnd_tx_fixup(orig_dev, skb_len); dev_queue_xmit(skb); return; Loading drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c +4 −4 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ /* RX/TX Fixup */ void rmnet_vnd_rx_fixup(struct sk_buff *skb, struct net_device *dev) void rmnet_vnd_rx_fixup(struct net_device *dev, u32 skb_len) { struct rmnet_priv *priv = netdev_priv(dev); struct rmnet_pcpu_stats *pcpu_ptr; Loading @@ -38,11 +38,11 @@ void rmnet_vnd_rx_fixup(struct sk_buff *skb, struct net_device *dev) u64_stats_update_begin(&pcpu_ptr->syncp); pcpu_ptr->stats.rx_pkts++; pcpu_ptr->stats.rx_bytes += skb->len; pcpu_ptr->stats.rx_bytes += skb_len; u64_stats_update_end(&pcpu_ptr->syncp); } void rmnet_vnd_tx_fixup(struct sk_buff *skb, struct net_device *dev) void rmnet_vnd_tx_fixup(struct net_device *dev, u32 skb_len) { struct rmnet_priv *priv = netdev_priv(dev); struct rmnet_pcpu_stats *pcpu_ptr; Loading @@ -51,7 +51,7 @@ void rmnet_vnd_tx_fixup(struct sk_buff *skb, struct net_device *dev) u64_stats_update_begin(&pcpu_ptr->syncp); pcpu_ptr->stats.tx_pkts++; pcpu_ptr->stats.tx_bytes += skb->len; pcpu_ptr->stats.tx_bytes += skb_len; u64_stats_update_end(&pcpu_ptr->syncp); } Loading drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.h +3 −3 Original line number Diff line number Diff line /* Copyright (c) 2013-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading @@ -23,8 +23,8 @@ int rmnet_vnd_newlink(u8 id, struct net_device *rmnet_dev, struct rmnet_endpoint *ep); int rmnet_vnd_dellink(u8 id, struct rmnet_port *port, struct rmnet_endpoint *ep); void rmnet_vnd_rx_fixup(struct sk_buff *skb, struct net_device *dev); void rmnet_vnd_tx_fixup(struct sk_buff *skb, struct net_device *dev); void rmnet_vnd_rx_fixup(struct net_device *dev, u32 skb_len); void rmnet_vnd_tx_fixup(struct net_device *dev, u32 skb_len); u8 rmnet_vnd_get_mux(struct net_device *rmnet_dev); void rmnet_vnd_setup(struct net_device *dev); #endif /* _RMNET_VND_H_ */ Loading
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c +7 −3 Original line number Diff line number Diff line Loading @@ -82,7 +82,7 @@ rmnet_deliver_skb(struct sk_buff *skb, struct rmnet_port *port) skb_reset_transport_header(skb); skb_reset_network_header(skb); rmnet_vnd_rx_fixup(skb, skb->dev); rmnet_vnd_rx_fixup(skb->dev, skb->len); skb->pkt_type = PACKET_HOST; skb_set_mac_header(skb, 0); Loading Loading @@ -314,6 +314,7 @@ void rmnet_egress_handler(struct sk_buff *skb) struct rmnet_priv *priv; u8 mux_id; int err; u32 skb_len; sk_pacing_shift_update(skb->sk, 8); Loading @@ -326,13 +327,16 @@ void rmnet_egress_handler(struct sk_buff *skb) if (!port) goto drop; skb_len = skb->len; err = rmnet_map_egress_handler(skb, port, mux_id, orig_dev); if (err == -ENOMEM) goto drop; else if (err == -EINPROGRESS) else if (err == -EINPROGRESS) { rmnet_vnd_tx_fixup(orig_dev, skb_len); return; } rmnet_vnd_tx_fixup(skb, orig_dev); rmnet_vnd_tx_fixup(orig_dev, skb_len); dev_queue_xmit(skb); return; Loading
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c +4 −4 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ /* RX/TX Fixup */ void rmnet_vnd_rx_fixup(struct sk_buff *skb, struct net_device *dev) void rmnet_vnd_rx_fixup(struct net_device *dev, u32 skb_len) { struct rmnet_priv *priv = netdev_priv(dev); struct rmnet_pcpu_stats *pcpu_ptr; Loading @@ -38,11 +38,11 @@ void rmnet_vnd_rx_fixup(struct sk_buff *skb, struct net_device *dev) u64_stats_update_begin(&pcpu_ptr->syncp); pcpu_ptr->stats.rx_pkts++; pcpu_ptr->stats.rx_bytes += skb->len; pcpu_ptr->stats.rx_bytes += skb_len; u64_stats_update_end(&pcpu_ptr->syncp); } void rmnet_vnd_tx_fixup(struct sk_buff *skb, struct net_device *dev) void rmnet_vnd_tx_fixup(struct net_device *dev, u32 skb_len) { struct rmnet_priv *priv = netdev_priv(dev); struct rmnet_pcpu_stats *pcpu_ptr; Loading @@ -51,7 +51,7 @@ void rmnet_vnd_tx_fixup(struct sk_buff *skb, struct net_device *dev) u64_stats_update_begin(&pcpu_ptr->syncp); pcpu_ptr->stats.tx_pkts++; pcpu_ptr->stats.tx_bytes += skb->len; pcpu_ptr->stats.tx_bytes += skb_len; u64_stats_update_end(&pcpu_ptr->syncp); } Loading
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.h +3 −3 Original line number Diff line number Diff line /* Copyright (c) 2013-2017, The Linux Foundation. All rights reserved. /* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading @@ -23,8 +23,8 @@ int rmnet_vnd_newlink(u8 id, struct net_device *rmnet_dev, struct rmnet_endpoint *ep); int rmnet_vnd_dellink(u8 id, struct rmnet_port *port, struct rmnet_endpoint *ep); void rmnet_vnd_rx_fixup(struct sk_buff *skb, struct net_device *dev); void rmnet_vnd_tx_fixup(struct sk_buff *skb, struct net_device *dev); void rmnet_vnd_rx_fixup(struct net_device *dev, u32 skb_len); void rmnet_vnd_tx_fixup(struct net_device *dev, u32 skb_len); u8 rmnet_vnd_get_mux(struct net_device *rmnet_dev); void rmnet_vnd_setup(struct net_device *dev); #endif /* _RMNET_VND_H_ */