diff options
author | Igor Russkikh <Igor.Russkikh@aquantia.com> | 2019-05-25 09:57:59 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-06-22 08:15:17 +0200 |
commit | 388534d45f04058f19f6f673226b82413bb4c133 (patch) | |
tree | 6c48d51f6bd323a6dc0eed6e1d869ed3195ff59e /arch | |
parent | b7ca3f331d5777f0a997e4d3b58ca9248a263705 (diff) | |
download | linux-rpi3-388534d45f04058f19f6f673226b82413bb4c133.tar.gz linux-rpi3-388534d45f04058f19f6f673226b82413bb4c133.tar.bz2 linux-rpi3-388534d45f04058f19f6f673226b82413bb4c133.zip |
net: aquantia: tx clean budget logic error
[ Upstream commit 31bafc49a7736989e4c2d9f7280002c66536e590 ]
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 <igor.russkikh@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions