Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b2b19494 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'net-phy-remove-phy_error-from-phy_disable_interrupts'



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: default avatarDavid S. Miller <davem@davemloft.net>
parents 4d1e46a5 70a55c32
Loading
Loading
Loading
Loading
+4 −18
Original line number Diff line number Diff line
@@ -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);
}

/**
@@ -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;