Commit 75db5b07 authored by Alex Elder's avatar Alex Elder Committed by David S. Miller

net: qualcomm: rmnet: eliminate some ifdefs

If IPV6 is not enabled in the kernel configuration, the RMNet
checksum code indicates a buffer containing an IPv6 packet is not
supported.  The same thing happens if a buffer contains something
other than an IPv4 or IPv6 packet.

We can rearrange things a bit in two functions so that some #ifdef
calls can simply be eliminated.
Signed-off-by: default avatarAlex Elder <elder@linaro.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e4517d8a
...@@ -431,21 +431,15 @@ int rmnet_map_checksum_downlink_packet(struct sk_buff *skb, u16 len) ...@@ -431,21 +431,15 @@ int rmnet_map_checksum_downlink_packet(struct sk_buff *skb, u16 len)
return -EINVAL; return -EINVAL;
} }
if (skb->protocol == htons(ETH_P_IP)) { if (skb->protocol == htons(ETH_P_IP))
return rmnet_map_ipv4_dl_csum_trailer(skb, csum_trailer, priv); return rmnet_map_ipv4_dl_csum_trailer(skb, csum_trailer, priv);
} else if (skb->protocol == htons(ETH_P_IPV6)) {
#if IS_ENABLED(CONFIG_IPV6) if (IS_ENABLED(CONFIG_IPV6) && skb->protocol == htons(ETH_P_IPV6))
return rmnet_map_ipv6_dl_csum_trailer(skb, csum_trailer, priv); return rmnet_map_ipv6_dl_csum_trailer(skb, csum_trailer, priv);
#else
priv->stats.csum_err_invalid_ip_version++;
return -EPROTONOSUPPORT;
#endif
} else {
priv->stats.csum_err_invalid_ip_version++;
return -EPROTONOSUPPORT;
}
return 0; priv->stats.csum_err_invalid_ip_version++;
return -EPROTONOSUPPORT;
} }
static void rmnet_map_v4_checksum_uplink_packet(struct sk_buff *skb, static void rmnet_map_v4_checksum_uplink_packet(struct sk_buff *skb,
...@@ -462,28 +456,26 @@ static void rmnet_map_v4_checksum_uplink_packet(struct sk_buff *skb, ...@@ -462,28 +456,26 @@ static void rmnet_map_v4_checksum_uplink_packet(struct sk_buff *skb,
(NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM)))) (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM))))
goto sw_csum; goto sw_csum;
if (skb->ip_summed == CHECKSUM_PARTIAL) { if (skb->ip_summed != CHECKSUM_PARTIAL)
iphdr = (char *)ul_header + goto sw_csum;
sizeof(struct rmnet_map_ul_csum_header);
if (skb->protocol == htons(ETH_P_IP)) { iphdr = (char *)ul_header +
rmnet_map_ipv4_ul_csum_header(iphdr, ul_header, skb); sizeof(struct rmnet_map_ul_csum_header);
priv->stats.csum_hw++;
return; if (skb->protocol == htons(ETH_P_IP)) {
} else if (skb->protocol == htons(ETH_P_IPV6)) { rmnet_map_ipv4_ul_csum_header(iphdr, ul_header, skb);
#if IS_ENABLED(CONFIG_IPV6) priv->stats.csum_hw++;
rmnet_map_ipv6_ul_csum_header(iphdr, ul_header, skb); return;
priv->stats.csum_hw++;
return;
#else
priv->stats.csum_err_invalid_ip_version++;
goto sw_csum;
#endif
} else {
priv->stats.csum_err_invalid_ip_version++;
}
} }
if (IS_ENABLED(CONFIG_IPV6) && skb->protocol == htons(ETH_P_IPV6)) {
rmnet_map_ipv6_ul_csum_header(iphdr, ul_header, skb);
priv->stats.csum_hw++;
return;
}
priv->stats.csum_err_invalid_ip_version++;
sw_csum: sw_csum:
memset(ul_header, 0, sizeof(*ul_header)); memset(ul_header, 0, sizeof(*ul_header));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment