• Igor Russkikh's avatar
    net: aquantia: tx clean budget logic error · 31bafc49
    Igor Russkikh authored
    In case no other traffic happening on the ring, full tx cleanup
    may not be completed. That may cause socket buffer to overflow
    and tx traffic to stuck until next activity on the ring happens.
    
    This is due to logic error in budget variable decrementor.
    Variable is compared with zero, and then post decremented,
    causing it to become MAX_INT. Solution is remove decrementor
    from the `for` statement and rewrite it in a clear way.
    
    Fixes: b647d398 ("net: aquantia: Add tx clean budget and valid budget handling logic")
    Signed-off-by: default avatarIgor Russkikh <igor.russkikh@aquantia.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    31bafc49
aq_ring.c 10.5 KB