• Prashant Sreedharan's avatar
    tg3: Clear NETIF_F_TSO6 flag before doing software GSO · 40c1deaf
    Prashant Sreedharan authored
    Commit d3f6f3a1 ("tg3: Prevent page
    allocation failure during TSO workaround") modified driver logic
    to use tg3_tso_bug() for any TSO fragment that hits hardware bug
    conditions thus the patch increased the scope of work for tg3_tso_bug()
    to cover devices that support NETIF_F_TSO6 as well. Prior to the
    patch, tg3_tso_bug() would only be used on devices supporting
    NETIF_F_TSO.
    
    A regression was introduced for IPv6 packets requiring the workaround.
    To properly perform GSO on SKBs with TCPV6 gso_type, we need to call
    skb_gso_segment() with NETIF_F_TSO6 feature flag cleared, or the
    function will return NULL and cause a kernel oops as tg3 is not handling
    a NULL return value. This patch fixes the problem.
    Signed-off-by: default avatarPrashant Sreedharan <prashant@broadcom.com>
    Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    40c1deaf
tg3.c 464 KB