For the origin type for netdev_features_t would be changed to be unsigned long * from u64, so changes the prototype of rtl8168evl_fix_tso for adaption.
Signed-off-by: Jian Shen shenjian15@huawei.com --- drivers/net/ethernet/realtek/r8169_main.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c index e6b6eb3..584b3bb 100644 --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -4331,23 +4331,20 @@ static unsigned int rtl_last_frag_len(struct sk_buff *skb) }
/* Workaround for hw issues with TSO on RTL8168evl */ -static netdev_features_t rtl8168evl_fix_tso(struct sk_buff *skb, - netdev_features_t features) +static void rtl8168evl_fix_tso(struct sk_buff *skb, netdev_features_t *features) { /* IPv4 header has options field */ if (vlan_get_protocol(skb) == htons(ETH_P_IP) && ip_hdrlen(skb) > sizeof(struct iphdr)) - features &= ~NETIF_F_ALL_TSO; + *features &= ~NETIF_F_ALL_TSO;
/* IPv4 TCP header has options field */ else if (skb_shinfo(skb)->gso_type & SKB_GSO_TCPV4 && tcp_hdrlen(skb) > sizeof(struct tcphdr)) - features &= ~NETIF_F_ALL_TSO; + *features &= ~NETIF_F_ALL_TSO;
else if (rtl_last_frag_len(skb) <= 6) - features &= ~NETIF_F_ALL_TSO; - - return features; + *features &= ~NETIF_F_ALL_TSO; }
static void rtl8169_features_check(struct sk_buff *skb, struct net_device *dev, @@ -4358,7 +4355,7 @@ static void rtl8169_features_check(struct sk_buff *skb, struct net_device *dev,
if (skb_is_gso(skb)) { if (tp->mac_version == RTL_GIGA_MAC_VER_34) - *features = rtl8168evl_fix_tso(skb, *features); + rtl8168evl_fix_tso(skb, features);
if (transport_offset > GTTCPHO_MAX && rtl_chip_supports_csum_v2(tp))