diff options
author | Elad Kanfi <eladkan@mellanox.com> | 2016-05-09 20:13:20 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-05-10 15:04:49 -0400 |
commit | 05c00d82f4d170987ac29607e7f3c27223b52d1e (patch) | |
tree | 8d54a352040648ddc202a7e93a2d31ea29b97c0b /net/ipv4 | |
parent | e5df49d564fe993c68f5cff6d96972a6358b4958 (diff) | |
download | linux-05c00d82f4d170987ac29607e7f3c27223b52d1e.tar.gz linux-05c00d82f4d170987ac29607e7f3c27223b52d1e.tar.bz2 linux-05c00d82f4d170987ac29607e7f3c27223b52d1e.zip |
net: nps_enet: bug fix - handle lost tx interrupts
The tx interrupt is of edge type, and in case such interrupt is triggered
while it is masked it will not be handled even after tx interrupts are
re-enabled in the end of NAPI poll.
This will cause tx network to stop in the following scenario:
* Rx is being handled, hence interrupts are masked.
* Tx interrupt is triggered after checking if there is some tx to handle
and before re-enabling the interrupts.
In this situation only rx transaction will release tx requests.
In order to handle the tx that was missed( if there was one ),
a NAPI reschdule was added after enabling the interrupts.
Signed-off-by: Elad Kanfi <eladkan@mellanox.com>
Acked-by: Noam Camus <noamca@mellanox.com>
Acked-by: Gilad Ben-Yossef <giladby@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4')
0 files changed, 0 insertions, 0 deletions