Message ID | 47c70ff0-a38d-8689-2f31-ce6eb71bacb8@gmail.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net] r8169: fix cable re-plugging issue | expand |
From: Heiner Kallweit <hkallweit1@gmail.com> Date: Fri, 22 Mar 2019 07:39:35 +0100 > 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: 38caff5a445b ("r8169: handle all interrupt events in the hard irq handler") > Reported-by: Bartosz Skrzypczak <barteks2x@gmail.com> > Suggested-by: Bartosz Skrzypczak <barteks2x@gmail.com> > Tested-by: Bartosz Skrzypczak <barteks2x@gmail.com> > Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Applied and queued up for -stable, thanks Heiner.
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c index a542cd121..a8ca26c2a 100644 --- a/drivers/net/ethernet/realtek/r8169.c +++ b/drivers/net/ethernet/realtek/r8169.c @@ -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); }