• Michael Chan's avatar
    [BNX2]: Fix RX packet rot. · c09c2627
    Michael Chan authored
    Packets can be left in the RX ring if the NAPI budget is reached.
    This is caused by storing the latest rx index at the beginning of
    bnx2_rx_int().  We may not process all the work up to this index
    if the budget is reached and so some packets in the RX ring may rot
    when we later check for more work using this stored rx index.
    
    The fix is to not store this latest hw index and only store the
    processed rx index.  We use a new function bnx2_get_hw_rx_cons()
    to fetch the latest hw rx index.
    Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c09c2627
bnx2.c 167 KB