]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/5.0.6/r8169-fix-cable-re-plugging-issue.patch
Linux 4.19.33
[thirdparty/kernel/stable-queue.git] / releases / 5.0.6 / r8169-fix-cable-re-plugging-issue.patch
1 From foo@baz Thu Mar 28 21:53:58 CET 2019
2 From: Heiner Kallweit <hkallweit1@gmail.com>
3 Date: Fri, 22 Mar 2019 07:39:35 +0100
4 Subject: r8169: fix cable re-plugging issue
5
6 From: Heiner Kallweit <hkallweit1@gmail.com>
7
8 [ Upstream commit 23c78343ec36990709b636a9e02bad814f4384ad ]
9
10 Bartek reported that after few cable unplug/replug cycles suddenly
11 replug isn't detected any longer. His system uses a RTL8106, I wasn't
12 able to reproduce the issue with RTL8168g. According to his bisect
13 the referenced commit caused the regression. As Realtek doesn't
14 release datasheets or errata it's hard to say what's the actual root
15 cause, but this change was reported to fix the issue.
16
17 Fixes: 38caff5a445b ("r8169: handle all interrupt events in the hard irq handler")
18 Reported-by: Bartosz Skrzypczak <barteks2x@gmail.com>
19 Suggested-by: Bartosz Skrzypczak <barteks2x@gmail.com>
20 Tested-by: Bartosz Skrzypczak <barteks2x@gmail.com>
21 Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
22 Signed-off-by: David S. Miller <davem@davemloft.net>
23 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
24 ---
25 drivers/net/ethernet/realtek/r8169.c | 2 +-
26 1 file changed, 1 insertion(+), 1 deletion(-)
27
28 --- a/drivers/net/ethernet/realtek/r8169.c
29 +++ b/drivers/net/ethernet/realtek/r8169.c
30 @@ -6435,7 +6435,7 @@ static irqreturn_t rtl8169_interrupt(int
31 set_bit(RTL_FLAG_TASK_RESET_PENDING, tp->wk.flags);
32 }
33
34 - if (status & RTL_EVENT_NAPI) {
35 + if (status & (RTL_EVENT_NAPI | LinkChg)) {
36 rtl_irq_disable(tp);
37 napi_schedule_irqoff(&tp->napi);
38 }