• Lennert Buytenhek's avatar
    mv643xx_eth: fix NAPI 'rotting packet' issue · 819ddcaf
    Lennert Buytenhek authored
    When a receive interrupt occurs, mv643xx_eth would first process the
    receive descriptors and then ACK the receive interrupt, instead of the
    other way round.
    
    This would leave a small race window between processing the last
    receive descriptor and clearing the receive interrupt status in which
    a new packet could come in, which would then 'rot' in the receive
    ring until the next receive interrupt would come in.
    
    Fix this by ACKing (clearing) the receive interrupt condition before
    processing the receive descriptors.
    Signed-off-by: default avatarLennert Buytenhek <buytenh@marvell.com>
    819ddcaf
mv643xx_eth.c 64.5 KB