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

[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
...@@ -419,9 +419,8 @@ void phy_start_machine(struct phy_device *phydev, ...@@ -419,9 +419,8 @@ void phy_start_machine(struct phy_device *phydev,
/* phy_stop_machine /* phy_stop_machine
* *
* description: Stops the state machine timer, sets the state to * description: Stops the state machine timer, sets the state to UP
* UP (unless it wasn't up yet), and then frees the interrupt, * (unless it wasn't up yet). This function must be called BEFORE
* if it is in use. This function must be called BEFORE
* phy_detach. * phy_detach.
*/ */
void phy_stop_machine(struct phy_device *phydev) void phy_stop_machine(struct phy_device *phydev)
...@@ -433,9 +432,6 @@ void phy_stop_machine(struct phy_device *phydev) ...@@ -433,9 +432,6 @@ void phy_stop_machine(struct phy_device *phydev)
phydev->state = PHY_UP; phydev->state = PHY_UP;
spin_unlock(&phydev->lock); spin_unlock(&phydev->lock);
if (phydev->irq != PHY_POLL)
phy_stop_interrupts(phydev);
phydev->adjust_state = NULL; phydev->adjust_state = NULL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment