diff options
author | Heiner Kallweit <hkallweit1@gmail.com> | 2020-03-22 19:03:56 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-03-23 21:38:21 -0700 |
commit | 6b02e407cbf8d421477ebb7792cd6380affcd313 (patch) | |
tree | 408c6e6b93d9b94c66645e674d37d3b099818e43 /drivers | |
parent | r8169: improve rtl_schedule_task (diff) | |
download | wireguard-linux-6b02e407cbf8d421477ebb7792cd6380affcd313.tar.xz wireguard-linux-6b02e407cbf8d421477ebb7792cd6380affcd313.zip |
r8169: improve RTL8168b FIFO overflow workaround
So far only the reset bit it set, but the handler executing the reset
is not scheduled. Therefore nothing will happen until some other action
schedules the handler. Improve this by ensuring that the handler is
scheduled.
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/realtek/r8169_main.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c index e9ced0360f58..b7dc1c112a94 100644 --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -4575,8 +4575,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance) if (unlikely(status & RxFIFOOver && tp->mac_version == RTL_GIGA_MAC_VER_11)) { netif_stop_queue(tp->dev); - /* XXX - Hack alert. See rtl_task(). */ - set_bit(RTL_FLAG_TASK_RESET_PENDING, tp->wk.flags); + rtl_schedule_task(tp, RTL_FLAG_TASK_RESET_PENDING); } rtl_irq_disable(tp); |