aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiner Kallweit <[email protected]>2019-03-22 07:39:35 +0100
committerDavid S. Miller <[email protected]>2019-03-23 21:26:43 -0400
commit23c78343ec36990709b636a9e02bad814f4384ad (patch)
tree83d80b644d5526947eb0dd56f597276f3f52fc0d
parent75eac7b5f68b0a0671e795ac636457ee27cc11d8 (diff)
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: 38caff5a445b ("r8169: handle all interrupt events in the hard irq handler") Reported-by: Bartosz Skrzypczak <[email protected]> Suggested-by: Bartosz Skrzypczak <[email protected]> Tested-by: Bartosz Skrzypczak <[email protected]> Signed-off-by: Heiner Kallweit <[email protected]> Signed-off-by: David S. Miller <[email protected]>
-rw-r--r--drivers/net/ethernet/realtek/r8169.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 9dd1cd2c0c68..7562ccbbb39a 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);
}