linux/drivers/net/ethernet/realtek
Heiner Kallweit 6b839b6cf9 r8169: fix NAPI handling under high load
rtl_rx() and rtl_tx() are called only if the respective bits are set
in the interrupt status register. Under high load NAPI may not be
able to process all data (work_done == budget) and it will schedule
subsequent calls to the poll callback.
rtl_ack_events() however resets the bits in the interrupt status
register, therefore subsequent calls to rtl8169_poll() won't call
rtl_rx() and rtl_tx() - chip interrupts are still disabled.

Fix this by calling rtl_rx() and rtl_tx() independent of the bits
set in the interrupt status register. Both functions will detect
if there's nothing to do for them.

Fixes: da78dbff2e ("r8169: remove work from irq handler.")
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-10-18 11:33:29 -07:00
..
8139cp.c 8139cp: Replace WARN_ONCE with netdev_WARN_ONCE 2018-01-08 20:53:15 -05:00
8139too.c 8139too: Remove unnecessary netif_napi_del() 2018-05-25 16:35:45 -04:00
atp.c drivers/net: realtek: Convert timers to use timer_setup() 2017-10-27 12:09:16 +09:00
atp.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig r8169: add missing Kconfig dependency 2018-08-17 12:24:13 -07:00
Makefile
r8169.c r8169: fix NAPI handling under high load 2018-10-18 11:33:29 -07:00