]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
r8169: fix crash if CONFIG_DEBUG_SHIRQ is enabled
authorHeiner Kallweit <hkallweit1@gmail.com>
Sun, 9 Dec 2018 21:05:11 +0000 (22:05 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 12 Dec 2018 06:54:19 +0000 (22:54 -0800)
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>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/realtek/r8169.c

index 1fd01688d37bdd9c7e09e2444034c0ccb286ea19..209566f8097baa29d2b2b21129219c49c51242b0 100644 (file)
@@ -6469,7 +6469,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 &&