• Lars Persson's avatar
    stmmac: reset last TSO segment size after device open · 45ab4b13
    Lars Persson authored
    The mss variable tracks the last max segment size sent to the TSO
    engine. We do not update the hardware as long as we receive skb:s with
    the same value in gso_size.
    
    During a network device down/up cycle (mapped to stmmac_release() and
    stmmac_open() callbacks) we issue a reset to the hardware and it
    forgets the setting for mss. However we did not zero out our mss
    variable so the next transmission of a gso packet happens with an
    undefined hardware setting.
    
    This triggers a hang in the TSO engine and eventuelly the netdev
    watchdog will bark.
    
    Fixes: f748be53 ("stmmac: support new GMAC4")
    Signed-off-by: default avatarLars Persson <larper@axis.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    45ab4b13
stmmac_main.c 124 KB