For the origin type for netdev_features_t would be changed to
be unsigned long * from u64, so changes the prototype of
harmonize_features for adaption.
Signed-off-by: Jian Shen <shenjian15@huawei.com>
---
net/core/dev.c | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index 81e93be4cedb..ef77e080504b 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3457,22 +3457,19 @@ static void net_mpls_features(struct sk_buff *skb, netdev_features_t *features,
}
#endif
-static netdev_features_t harmonize_features(struct sk_buff *skb,
- netdev_features_t features)
+static void harmonize_features(struct sk_buff *skb, netdev_features_t *features)
{
__be16 type;
type = skb_network_protocol(skb, NULL);
- net_mpls_features(skb, &features, type);
+ net_mpls_features(skb, features, type);
if (skb->ip_summed != CHECKSUM_NONE &&
- !can_checksum_protocol(features, type)) {
- features &= ~(NETIF_F_CSUM_MASK | NETIF_F_GSO_MASK);
+ !can_checksum_protocol(*features, type)) {
+ *features &= ~(NETIF_F_CSUM_MASK | NETIF_F_GSO_MASK);
}
if (illegal_highdma(skb->dev, skb))
- features &= ~NETIF_F_SG;
-
- return features;
+ *features &= ~NETIF_F_SG;
}
netdev_features_t passthru_features_check(struct sk_buff *skb,@@ -3554,7 +3551,8 @@ netdev_features_t netif_skb_features(struct sk_buff *skb)
else
features &= dflt_features_check(skb, dev, features);
- return harmonize_features(skb, features);
+ harmonize_features(skb, &features);
+ return features;
}
EXPORT_SYMBOL(netif_skb_features);
--
2.33.0