[PATCH net] r8169: fix crash if CONFIG_DEBUG_SHIRQ is enabled

Subsystems: 8169 10/100/1000 gigabit ethernet driver, networking drivers, the rest

STALE2822d

2 messages, 2 authors, 2018-12-12 · open the first message on its own page

[PATCH net] r8169: fix crash if CONFIG_DEBUG_SHIRQ is enabled

From: Heiner Kallweit <hkallweit1@gmail.com>
Date: 2018-12-09 21:05:25

If CONFIG_DEBUG_SHIRQ is enabled __free_irq() intentionally fires
a spurious interrupt. This interrupt causes a crash because
tp->dev->phydev is NULL at that time.

Fixes: 38caff5a445b ("r8169: handle all interrupt events in the hard irq handler")
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
---
 drivers/net/ethernet/realtek/r8169.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index bb1847fd6..8462553e3 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -6414,7 +6414,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
 		goto out;
 	}
 
-	if (status & LinkChg)
+	if (status & LinkChg && tp->dev->phydev)
 		phy_mac_interrupt(tp->dev->phydev);
 
 	if (unlikely(status & RxFIFOOver &&
-- 
2.19.2

Re: [PATCH net] r8169: fix crash if CONFIG_DEBUG_SHIRQ is enabled

From: David Miller <davem@davemloft.net>
Date: 2018-12-12 06:54:08

From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Sun, 9 Dec 2018 22:05:11 +0100
If CONFIG_DEBUG_SHIRQ is enabled __free_irq() intentionally fires
a spurious interrupt. This interrupt causes a crash because
tp->dev->phydev is NULL at that time.

Fixes: 38caff5a445b ("r8169: handle all interrupt events in the hard irq handler")
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
I'll apply this, thanks Heiner.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help