From: Igor Russkikh <[email protected]>
Date: Sat, 25 May 2019 09:57:59 +0000
> 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: b647d3980948e ("net: aquantia: Add tx clean budget and valid budget
> handling logic")
> Signed-off-by: Igor Russkikh <[email protected]>
I think the TX clean budget is a very bad idea.
You should always do as much TX clean work as there is TODO.