• David Woodhouse's avatar
    8139cp: Fix GSO MSS handling · 8b7a7048
    David Woodhouse authored
    When fixing the TSO support I noticed we just mask ->gso_size with the
    MSSMask value and don't care about the consequences.
    
    Provide a .ndo_features_check() method which drops the NETIF_F_TSO
    feature for any skb which would exceed the maximum, and thus forces it
    to be segmented by software.
    
    Then we can stop the masking in cp_start_xmit(), and just WARN if the
    maximum is exceeded, which should now never happen.
    
    Finally, Francois Romieu noticed that we didn't even have the right
    value for MSSMask anyway; it should be 0x7ff (11 bits) not 0xfff.
    Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    8b7a7048
8139cp.c 56 KB