Commit 23c78343 authored by Heiner Kallweit's avatar Heiner Kallweit Committed by David S. Miller

r8169: fix cable re-plugging issue

Bartek reported that after few cable unplug/replug cycles suddenly
replug isn't detected any longer. His system uses a RTL8106, I wasn't
able to reproduce the issue with RTL8168g. According to his bisect
the referenced commit caused the regression. As Realtek doesn't
release datasheets or errata it's hard to say what's the actual root
cause, but this change was reported to fix the issue.

Fixes: 38caff5a ("r8169: handle all interrupt events in the hard irq handler")
Reported-by: default avatarBartosz Skrzypczak <barteks2x@gmail.com>
Suggested-by: default avatarBartosz Skrzypczak <barteks2x@gmail.com>
Tested-by: default avatarBartosz Skrzypczak <barteks2x@gmail.com>
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 75eac7b5
......@@ -6542,7 +6542,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
set_bit(RTL_FLAG_TASK_RESET_PENDING, tp->wk.flags);
}
if (status & RTL_EVENT_NAPI) {
if (status & (RTL_EVENT_NAPI | LinkChg)) {
rtl_irq_disable(tp);
napi_schedule_irqoff(&tp->napi);
}
......
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