@@ -177,13 +177,13 @@ static int hsr_dev_close(struct net_device *dev)
return 0;
}
-static netdev_features_t hsr_features_recompute(struct hsr_priv *hsr,
- netdev_features_t features)
+static void hsr_features_recompute(struct hsr_priv *hsr,
+ netdev_features_t *features)
{
netdev_features_t mask;
struct hsr_port *port;
- mask = features;
+ mask = *features;
/* Mask out all features that, if supported by one device, should be
* enabled for all devices (see NETIF_F_ONE_FOR_ALL).
@@ -192,12 +192,10 @@ static netdev_features_t hsr_features_recompute(struct hsr_priv *hsr,
* that were in features originally, and also is in NETIF_F_ONE_FOR_ALL,
* may become enabled.
*/
- features &= ~NETIF_F_ONE_FOR_ALL;
+ *features &= ~NETIF_F_ONE_FOR_ALL;
hsr_for_each_port(hsr, port)
- netdev_increment_features(&features, features,
+ netdev_increment_features(features, *features,
port->dev->features, mask);
-
- return features;
}
static void hsr_fix_features(struct net_device *dev,
@@ -205,7 +203,7 @@ static void hsr_fix_features(struct net_device *dev,
{
struct hsr_priv *hsr = netdev_priv(dev);
- *features = hsr_features_recompute(hsr, *features);
+ hsr_features_recompute(hsr, features);
}
static netdev_tx_t hsr_dev_xmit(struct sk_buff *skb, struct net_device *dev)
For the origin type for netdev_features_t would be changed to be unsigned long * from u64, so changes the prototype of hsr_features_recompute for adaption. Signed-off-by: Jian Shen <shenjian15@huawei.com> --- net/hsr/hsr_device.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-)