Loading drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c +2 −8 Original line number Diff line number Diff line Loading @@ -67,13 +67,8 @@ rmnet_get_endpoint(struct net_device *dev, int config_id) struct rmnet_endpoint *ep; struct rmnet_port *port; if (!rmnet_is_real_dev_registered(dev)) { ep = rmnet_vnd_get_endpoint(dev); } else { port = rmnet_get_port_rtnl(dev); ep = &port->muxed_ep[config_id]; } return ep; } Loading Loading @@ -183,7 +178,6 @@ static int rmnet_newlink(struct net *src_net, struct net_device *dev, port->rmnet_mode = mode; rmnet_set_endpoint_config(real_dev, mux_id, dev); rmnet_set_endpoint_config(dev, mux_id, real_dev); return 0; err2: Loading drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h +0 −4 Original line number Diff line number Diff line Loading @@ -20,9 +20,6 @@ #define RMNET_MAX_LOGICAL_EP 255 /* Information about the next device to deliver the packet to. * Exact usage of this parameter depends on the rmnet_mode. */ struct rmnet_endpoint { u8 mux_id; struct net_device *egress_dev; Loading @@ -44,7 +41,6 @@ struct rmnet_port { extern struct rtnl_link_ops rmnet_link_ops; struct rmnet_priv { struct rmnet_endpoint local_ep; u8 mux_id; struct net_device *real_dev; }; Loading drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c +10 −8 Original line number Diff line number Diff line Loading @@ -116,8 +116,7 @@ rmnet_map_ingress_handler(struct sk_buff *skb, } static int rmnet_map_egress_handler(struct sk_buff *skb, struct rmnet_port *port, struct rmnet_endpoint *ep, struct rmnet_port *port, u8 mux_id, struct net_device *orig_dev) { int required_headroom, additional_header_len; Loading @@ -136,10 +135,10 @@ static int rmnet_map_egress_handler(struct sk_buff *skb, return RMNET_MAP_CONSUMED; if (port->egress_data_format & RMNET_EGRESS_FORMAT_MUXING) { if (ep->mux_id == 0xff) if (mux_id == 0xff) map_header->mux_id = 0; else map_header->mux_id = ep->mux_id; map_header->mux_id = mux_id; } skb->protocol = htons(ETH_P_MAP); Loading Loading @@ -176,14 +175,17 @@ rx_handler_result_t rmnet_rx_handler(struct sk_buff **pskb) * for egress device configured in logical endpoint. Packet is then transmitted * on the egress device. */ void rmnet_egress_handler(struct sk_buff *skb, struct rmnet_endpoint *ep) void rmnet_egress_handler(struct sk_buff *skb) { struct net_device *orig_dev; struct rmnet_port *port; struct rmnet_priv *priv; u8 mux_id; orig_dev = skb->dev; skb->dev = ep->egress_dev; priv = netdev_priv(orig_dev); skb->dev = priv->real_dev; mux_id = priv->mux_id; port = rmnet_get_port(skb->dev); if (!port) { Loading @@ -192,7 +194,7 @@ void rmnet_egress_handler(struct sk_buff *skb, } if (port->egress_data_format & RMNET_EGRESS_FORMAT_MAP) { switch (rmnet_map_egress_handler(skb, port, ep, orig_dev)) { switch (rmnet_map_egress_handler(skb, port, mux_id, orig_dev)) { case RMNET_MAP_CONSUMED: return; Loading drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.h +1 −2 Original line number Diff line number Diff line Loading @@ -18,8 +18,7 @@ #include "rmnet_config.h" void rmnet_egress_handler(struct sk_buff *skb, struct rmnet_endpoint *ep); void rmnet_egress_handler(struct sk_buff *skb); rx_handler_result_t rmnet_rx_handler(struct sk_buff **pskb); Loading drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c +2 −17 Original line number Diff line number Diff line Loading @@ -45,8 +45,8 @@ static netdev_tx_t rmnet_vnd_start_xmit(struct sk_buff *skb, struct rmnet_priv *priv; priv = netdev_priv(dev); if (priv->local_ep.egress_dev) { rmnet_egress_handler(skb, &priv->local_ep); if (priv->real_dev) { rmnet_egress_handler(skb); } else { dev->stats.tx_dropped++; kfree_skb(skb); Loading Loading @@ -143,21 +143,6 @@ u8 rmnet_vnd_get_mux(struct net_device *rmnet_dev) return priv->mux_id; } /* Gets the logical endpoint configuration for a RmNet virtual network device * node. Caller should confirm that devices is a RmNet VND before calling. */ struct rmnet_endpoint *rmnet_vnd_get_endpoint(struct net_device *rmnet_dev) { struct rmnet_priv *priv; if (!rmnet_dev) return NULL; priv = netdev_priv(rmnet_dev); return &priv->local_ep; } int rmnet_vnd_do_flow_control(struct net_device *rmnet_dev, int enable) { netdev_dbg(rmnet_dev, "Setting VND TX queue state to %d\n", enable); Loading Loading
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c +2 −8 Original line number Diff line number Diff line Loading @@ -67,13 +67,8 @@ rmnet_get_endpoint(struct net_device *dev, int config_id) struct rmnet_endpoint *ep; struct rmnet_port *port; if (!rmnet_is_real_dev_registered(dev)) { ep = rmnet_vnd_get_endpoint(dev); } else { port = rmnet_get_port_rtnl(dev); ep = &port->muxed_ep[config_id]; } return ep; } Loading Loading @@ -183,7 +178,6 @@ static int rmnet_newlink(struct net *src_net, struct net_device *dev, port->rmnet_mode = mode; rmnet_set_endpoint_config(real_dev, mux_id, dev); rmnet_set_endpoint_config(dev, mux_id, real_dev); return 0; err2: Loading
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h +0 −4 Original line number Diff line number Diff line Loading @@ -20,9 +20,6 @@ #define RMNET_MAX_LOGICAL_EP 255 /* Information about the next device to deliver the packet to. * Exact usage of this parameter depends on the rmnet_mode. */ struct rmnet_endpoint { u8 mux_id; struct net_device *egress_dev; Loading @@ -44,7 +41,6 @@ struct rmnet_port { extern struct rtnl_link_ops rmnet_link_ops; struct rmnet_priv { struct rmnet_endpoint local_ep; u8 mux_id; struct net_device *real_dev; }; Loading
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c +10 −8 Original line number Diff line number Diff line Loading @@ -116,8 +116,7 @@ rmnet_map_ingress_handler(struct sk_buff *skb, } static int rmnet_map_egress_handler(struct sk_buff *skb, struct rmnet_port *port, struct rmnet_endpoint *ep, struct rmnet_port *port, u8 mux_id, struct net_device *orig_dev) { int required_headroom, additional_header_len; Loading @@ -136,10 +135,10 @@ static int rmnet_map_egress_handler(struct sk_buff *skb, return RMNET_MAP_CONSUMED; if (port->egress_data_format & RMNET_EGRESS_FORMAT_MUXING) { if (ep->mux_id == 0xff) if (mux_id == 0xff) map_header->mux_id = 0; else map_header->mux_id = ep->mux_id; map_header->mux_id = mux_id; } skb->protocol = htons(ETH_P_MAP); Loading Loading @@ -176,14 +175,17 @@ rx_handler_result_t rmnet_rx_handler(struct sk_buff **pskb) * for egress device configured in logical endpoint. Packet is then transmitted * on the egress device. */ void rmnet_egress_handler(struct sk_buff *skb, struct rmnet_endpoint *ep) void rmnet_egress_handler(struct sk_buff *skb) { struct net_device *orig_dev; struct rmnet_port *port; struct rmnet_priv *priv; u8 mux_id; orig_dev = skb->dev; skb->dev = ep->egress_dev; priv = netdev_priv(orig_dev); skb->dev = priv->real_dev; mux_id = priv->mux_id; port = rmnet_get_port(skb->dev); if (!port) { Loading @@ -192,7 +194,7 @@ void rmnet_egress_handler(struct sk_buff *skb, } if (port->egress_data_format & RMNET_EGRESS_FORMAT_MAP) { switch (rmnet_map_egress_handler(skb, port, ep, orig_dev)) { switch (rmnet_map_egress_handler(skb, port, mux_id, orig_dev)) { case RMNET_MAP_CONSUMED: return; Loading
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.h +1 −2 Original line number Diff line number Diff line Loading @@ -18,8 +18,7 @@ #include "rmnet_config.h" void rmnet_egress_handler(struct sk_buff *skb, struct rmnet_endpoint *ep); void rmnet_egress_handler(struct sk_buff *skb); rx_handler_result_t rmnet_rx_handler(struct sk_buff **pskb); Loading
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c +2 −17 Original line number Diff line number Diff line Loading @@ -45,8 +45,8 @@ static netdev_tx_t rmnet_vnd_start_xmit(struct sk_buff *skb, struct rmnet_priv *priv; priv = netdev_priv(dev); if (priv->local_ep.egress_dev) { rmnet_egress_handler(skb, &priv->local_ep); if (priv->real_dev) { rmnet_egress_handler(skb); } else { dev->stats.tx_dropped++; kfree_skb(skb); Loading Loading @@ -143,21 +143,6 @@ u8 rmnet_vnd_get_mux(struct net_device *rmnet_dev) return priv->mux_id; } /* Gets the logical endpoint configuration for a RmNet virtual network device * node. Caller should confirm that devices is a RmNet VND before calling. */ struct rmnet_endpoint *rmnet_vnd_get_endpoint(struct net_device *rmnet_dev) { struct rmnet_priv *priv; if (!rmnet_dev) return NULL; priv = netdev_priv(rmnet_dev); return &priv->local_ep; } int rmnet_vnd_do_flow_control(struct net_device *rmnet_dev, int enable) { netdev_dbg(rmnet_dev, "Setting VND TX queue state to %d\n", enable); Loading