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

Commit 817acf5e authored by Sergei Shtylylov's avatar Sergei Shtylylov Committed by Jeff Garzik
Browse files

[PATCH] Stop calling phy_stop_interrupts() twice



Prevent phylib from freeing PHY IRQ twice on closing an eth device:
phy_disconnect() first calls phy_stop_interrupts(), then it calls
phy_stop_machine() which in turn calls phy_stop_interrupts() making the
kernel complain on each bootup...

Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 75c30b13
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -419,9 +419,8 @@ void phy_start_machine(struct phy_device *phydev,

/* phy_stop_machine
 *
 * description: Stops the state machine timer, sets the state to
 *   UP (unless it wasn't up yet), and then frees the interrupt,
 *   if it is in use. This function must be called BEFORE
 * description: Stops the state machine timer, sets the state to UP
 *   (unless it wasn't up yet). This function must be called BEFORE
 *   phy_detach.
 */
void phy_stop_machine(struct phy_device *phydev)
@@ -433,9 +432,6 @@ void phy_stop_machine(struct phy_device *phydev)
		phydev->state = PHY_UP;
	spin_unlock(&phydev->lock);

	if (phydev->irq != PHY_POLL)
		phy_stop_interrupts(phydev);

	phydev->adjust_state = NULL;
}