Skip to content

Commit

Permalink
Merge branch 'net-phy-remove-phy_error-from-phy_disable_interrupts'
Browse files Browse the repository at this point in the history
Heiner Kallweit says:

====================
net: phy: remove phy_error from phy_disable_interrupts

All callers of phy_disable_interrupts() call phy_error() in the error
case. Therefore we don't need to do this within the function too.
This change also allows us to use phy_disable_interrupts() in code
holding phydev->lock (because phy_error() takes this lock).
Make use of this in phy_stop().

v2:
- splitted into two separate patches
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Mar 7, 2018
2 parents 4d1e46a + 70a55c3 commit b2b1949
Showing 1 changed file with 4 additions and 18 deletions.
22 changes: 4 additions & 18 deletions drivers/net/phy/phy.c
Original file line number Diff line number Diff line change
Expand Up @@ -662,19 +662,10 @@ static int phy_disable_interrupts(struct phy_device *phydev)
/* Disable PHY interrupts */
err = phy_config_interrupt(phydev, PHY_INTERRUPT_DISABLED);
if (err)
goto phy_err;
return err;

/* Clear the interrupt */
err = phy_clear_interrupt(phydev);
if (err)
goto phy_err;

return 0;

phy_err:
phy_error(phydev);

return err;
return phy_clear_interrupt(phydev);
}

/**
Expand Down Expand Up @@ -774,13 +765,8 @@ void phy_stop(struct phy_device *phydev)
if (PHY_HALTED == phydev->state)
goto out_unlock;

if (phy_interrupt_is_valid(phydev)) {
/* Disable PHY Interrupts */
phy_config_interrupt(phydev, PHY_INTERRUPT_DISABLED);

/* Clear any pending interrupts */
phy_clear_interrupt(phydev);
}
if (phy_interrupt_is_valid(phydev))
phy_disable_interrupts(phydev);

phydev->state = PHY_HALTED;

Expand Down

0 comments on commit b2b1949

Please sign in to comment.