Commit 6b02e407 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by David S. Miller

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: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3f6ca6c7
...@@ -4575,8 +4575,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance) ...@@ -4575,8 +4575,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
if (unlikely(status & RxFIFOOver && if (unlikely(status & RxFIFOOver &&
tp->mac_version == RTL_GIGA_MAC_VER_11)) { tp->mac_version == RTL_GIGA_MAC_VER_11)) {
netif_stop_queue(tp->dev); netif_stop_queue(tp->dev);
/* XXX - Hack alert. See rtl_task(). */ rtl_schedule_task(tp, RTL_FLAG_TASK_RESET_PENDING);
set_bit(RTL_FLAG_TASK_RESET_PENDING, tp->wk.flags);
} }
rtl_irq_disable(tp); rtl_irq_disable(tp);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment