OpenCloudOS-Kernel/drivers/net/ethernet/ezchip
Elad Kanfi 05c00d82f4 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>
2016-05-10 15:04:49 -04:00
..
Kconfig net: Fix dependencies for !HAS_IOMEM archs 2016-01-28 16:03:19 -08:00
Makefile
nps_enet.c net: nps_enet: bug fix - handle lost tx interrupts 2016-05-10 15:04:49 -04:00
nps_enet.h net: nps_enet: Tx handler synchronization 2016-05-10 15:04:49 -04:00