|
@@ -682,7 +682,7 @@ void phy_stop(struct phy_device *phydev)
|
|
|
if (PHY_HALTED == phydev->state)
|
|
|
goto out_unlock;
|
|
|
|
|
|
- if (phydev->irq != PHY_POLL) {
|
|
|
+ if (phy_interrupt_is_valid(phydev)) {
|
|
|
/* Disable PHY Interrupts */
|
|
|
phy_config_interrupt(phydev, PHY_INTERRUPT_DISABLED);
|
|
|
|
|
@@ -828,8 +828,9 @@ void phy_state_machine(struct work_struct *work)
|
|
|
break;
|
|
|
case PHY_RUNNING:
|
|
|
/* Only register a CHANGE if we are
|
|
|
- * polling */
|
|
|
- if (PHY_POLL == phydev->irq)
|
|
|
+ * polling or ignoring interrupts
|
|
|
+ */
|
|
|
+ if (!phy_interrupt_is_valid(phydev))
|
|
|
phydev->state = PHY_CHANGELINK;
|
|
|
break;
|
|
|
case PHY_CHANGELINK:
|
|
@@ -848,7 +849,7 @@ void phy_state_machine(struct work_struct *work)
|
|
|
|
|
|
phydev->adjust_link(phydev->attached_dev);
|
|
|
|
|
|
- if (PHY_POLL != phydev->irq)
|
|
|
+ if (phy_interrupt_is_valid(phydev))
|
|
|
err = phy_config_interrupt(phydev,
|
|
|
PHY_INTERRUPT_ENABLED);
|
|
|
break;
|