]> git.hungrycats.org Git - linux/commitdiff
net: phy: fix phy_start to consider PHY_IGNORE_INTERRUPT
authorHeiner Kallweit <hkallweit1@gmail.com>
Thu, 8 Feb 2018 20:01:48 +0000 (21:01 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Mar 2018 06:47:36 +0000 (22:47 -0800)
[ Upstream commit 08f5138512180a479ce6b9d23b825c9f4cd3be77 ]

This condition wasn't adjusted when PHY_IGNORE_INTERRUPT (-2) was added
long ago. In case of PHY_IGNORE_INTERRUPT the MAC interrupt indicates
also PHY state changes and we should do what the symbol says.

Fixes: 84a527a41f38 ("net: phylib: fix interrupts re-enablement in phy_start")
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/phy/phy.c

index ed10d1fc8f59188b95e090f085ced18421ad23c2..26ad88f09795336e4e547d2da9505c4d18d04792 100644 (file)
@@ -844,7 +844,7 @@ void phy_start(struct phy_device *phydev)
                phy_resume(phydev);
 
                /* make sure interrupts are re-enabled for the PHY */
-               if (phydev->irq != PHY_POLL) {
+               if (phy_interrupt_is_valid(phydev)) {
                        err = phy_enable_interrupts(phydev);
                        if (err < 0)
                                break;